본문 바로가기
KERD
논문KCI 등재

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

Security Verification of Korean Open Crypto Source Codes with Differential Fuzzing Analysis Method

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

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

Abstract

Fuzzing is an automated software testing methodology that dynamically tests the security of software by inputting randomly generated input values outside of the expected range. KISA is releasing open source for standard cryptographic algorithms, and many crypto module developers are developing crypto modules using this source code. If there is a vulnerability in the open source code, the cryptographic library referring to it has a potential vulnerability, which may lead to a security accident that causes enormous losses in the future. Therefore, in this study, an appropriate security policy was established to verify the safety of block cipher source codes such as SEED, HIGHT, and ARIA, and the safety was verified using differential fuzzing. Finally, a total of 45 vulnerabilities were found in the memory bug items and error handling items, and a vulnerability improvement plan to solve them is proposed.

참고문헌 (33)

  1. S. Embleton, "sidewinder: An evolutionary guidance system for malicious input c rafting", Proceedings of the Black Hat USA (2006)
  2. Valentin Jean Marie Manès, "The Art, Science, and Engineering of Fuzzing:A Survey", IEEE Transactions on Software Engineering, pp.1~21 (2019)
  3. "OpenSSL Cryptography an d SSL/TLS Toolkit" (2020)[URL]
  4. "HeartBleed CVE-2014-0160" (2020)[URL]
  5. "OpenSSL Vulnerabilities" (2020)[URL]
  6. "American Fuzzy Lop" (2020)[URL]
  7. "LibFuzzer" (2020)[URL]
  8. M. Aizatsky, "Annou ncing OSS-Fuzz: Continuous fuzzing f or open source software", Google Testi ng Blog, ~ (2016)
  9. Sanjay Rawat, "VUzzer: Applica tion-aware Evolutionary Fuzzing", ND SS, 17, pp.1~14 (2017)
  10. Peng Chen, "Angora: E fficient fuzzing by principled search", 2018 IEEE Symposium on Security and Privacy (SP), pp.711~725 (2018)
  11. "Honggfuzz" (2020)[URL]
  12. "Wycheproof" (2020)[URL]
  13. Muhammad Ali Gulzar, "Perception and Pr actices of Differential Testing", 2019 I EEE, 2019, 71~80
  14. Shirin Nilizadeh, "DifFuzz: Differen tial Fuzzing for Side-Channel Analysis", ICSE ‘19: Proceedings of the 41st I nternational Conference on Software Engineering, pp.176~187 (2019)
  15. Jean-Philippe Aumasson, "Automated Testing of Crypt o Software Using Differential Fuzzing", Blackhat USA 2017 (2017)
  16. "Differential fuzzing of cr yptographic libraries" (2020)[URL]
  17. "KISA Seed Algorithm" (2020)[URL]
  18. "Threats and countermeasures for using open source SW" (2020)[URL]
  19. "Software development security guide for e-government software devel opers and operators" (2020)[URL]
  20. "Development trend of security weakness analysis tool for public sour ce code" (2020)[URL]
  21. "MbedTLS" (2020)[URL]
  22. "CVE-2019-1543" (2020)[URL]
  23. "Address Sanitzier" (2020)[URL]
  24. David J Day, "Detecting Return-to-libc Buff er Overflow Attacks Using Network I ntrusion Detection Systems", 2010 Fourth International Conference on Digital Society (IEEE), pp.127~177 (2010)
  25. Erik Buchanan, "Returnoriented Programming: Exploitation w ithout Code Injection", Proceedings of Black Hat USA 2008 (2008)
  26. "CVE-2015-7547" (2020)[URL]
  27. Crispan Cowan, "StackGuard: Aut omatic Adaptive Detection and Preven tion of Buffer-Overflow Attacks", SSY M'98: Proceedings of the 7th conference on USENIX Security Symposium, 7, pp.1~16 (1998)
  28. Jonathan Ganz, "AS LR: How Robust Is the Randomness ?", 2017 IEEE Cybersecurity Development (SecDev), pp.34~41 (2017)
  29. Alexande Sotirov, "Heap Feng Shui in JavaScript", Proceedings of Black Hat Europe 2007 (2007)
  30. "CVE-2016-0778" (2020)[URL]
  31. "CVE-2015-3079" (2020)[URL]
  32. "Valgrind" (2020)[URL]
  33. "CVE-2020-5183" (2020)[URL]

관련 논문AI추천

이 간행물의 다른 논문 (28건)