차분 퍼징을 이용한 국내 공개 암호소스코드 안전성 검증

Vol. 30, No. 6, pp. 1225-1236, 12월. 2020
10.13089/JKIISC.2020.30.6.1225, Full Text:
Keywords: Software Testing, Differential Fuzzing, Cryptographic Library, Vulnerability
Abstract

퍼징은 예상되는 범위를 벗어난 입력값을 무작위로 생성해 소프트웨어를 동적으로 테스팅 하는 방법으로, 취약점분석을 자동화하기 위해 주로 쓰인다. 현재 한국인터넷진흥원에서는 국내 표준 암호 알고리즘들에 대한 소스코드를공개하고 있으며, 많은 암호모듈 개발업체들이 이 소스코드를 이용하여 암호모듈을 개발하고 있다. 만약 이러한 공개 소스코드에 취약점이 존재할 경우, 이를 참고한 암호 라이브러리는 잠재적 취약점을 가지게 되어 향후 막대한 손실을 초래하는 보안 사고로 이어질 수 있다. 이에 본 연구에서는 SEED, HIGHT, ARIA와 같은 블록암호 소스코드의 안전성을 검증하기 위한 적절한 보안 정책을 수립하였고, 차분 퍼징을 이용해 안전성을 검증하였다. 최종적으로 스택 버퍼 오버플로우와 널 포인터 역참조를 포함하는 메모리 버그 항목과 오류 처리 항목에서 총 45개의 취약점을 발견하였으며, 이를 해결할 수 있는 취약점 개선 방안을 제시한다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
윤형준 and 서석충, "Security Verification of Korean Open Crypto Source Codes with Differential Fuzzing Analysis Method," Journal of The Korea Institute of Information Security and Cryptology, vol. 30, no. 6, pp. 1225-1236, 2020. DOI: 10.13089/JKIISC.2020.30.6.1225.

[ACM Style]
윤형준 and 서석충. 2020. Security Verification of Korean Open Crypto Source Codes with Differential Fuzzing Analysis Method. Journal of The Korea Institute of Information Security and Cryptology, 30, 6, (2020), 1225-1236. DOI: 10.13089/JKIISC.2020.30.6.1225.