DOI QR코드

DOI QR Code

Analysis and Countermeasure for BadUSB Vulnerability

BadUSB 취약점 분석 및 대응 방안

  • Received : 2017.08.30
  • Accepted : 2017.10.27
  • Published : 2017.12.31

Abstract

As the BadUSB is a vulnerability, in which a hacker tampers the firmware area of a USB flash drive. When the BadUSB device is plugged into the USB port of a host system, a malicious code acts automatically. The host system misunderstands the act of the malicious behavior as an normal behaviour for booting the USB device, so it is hard to detect the malicious code. Also, an antivirus software can't detect the tampered firmware because it inspects not the firmware area but the storage area. Because a lot of computer peripherals (such as USB flash drive, keyboard) are connected to host system with the USB protocols, the vulnerability has a negative ripple effect. However, the countermeasure against the vulnerability is not known now. In this paper, we analyze the tampered area of the firmware when a normal USB device is changed to the BadUSB device and propose the countermeasure to verify the integrity of the area when the USB boots. The proposed method consists of two procedures. The first procedure is to verify the integrity of the area which should be fixed even if the firmware is updated. The verification method use hashes, and the target area includes descriptors. The second procedure is to verify the integrity of the changeable area when the firmware is updated. The verification method use code signing, and the target area includes the function area of the firmware. We also propose the update protocol for the proposed structure and verify it to be true through simulation.

Keywords

References

  1. S. L. Garfinkel, "USB Deserves More Support," The Boston Globe, pp. C4, 1999.
  2. K. Nohl, J. Lell, "BadUSB-On Accessories That Turn Evil," Black Hat USA, 2014.
  3. A. Caudill, B. Wilson, "Making BadUSB Work for you," Derbycon, 1994.
  4. A. Caudill, B. Wilson, "Phison 2251-03 (2303) Custom Firmware & Existing Firmware Patches (BadUSB)," Available: https://github.com/adamcaudill/Psychson/tree/master/firmware, 2014.
  5. Kaspersky Lab, BadUSB Attack Prevention, "https://help.kaspersky.com/keswin/10sp2/en-us/97194.htm".
  6. B.H. Choi, T.W. Suh, “A Security Program To Protect Against Keyboard-Emulating BadUSB,” Journal of the Korea Institute of Information Security and Cryptology, Vol. 26, No. 6, pp. 1483-1492, 2016 (in Korean). https://doi.org/10.13089/JKIISC.2016.26.6.1483
  7. Y.S. Lee, H.J. Lee, K.R. Lee, K.B. Yim, "Cognitive Countermeasures Against BAD USB," Proceedings of Springer International Conference on Broadband and Wireless Computing, Communication and Applications, pp. 377-386, 2016.
  8. J.E. Boritz, "IS Practitioners' Views on Core Concepts of Information Integrity," International Journal of Accounting Information Systems, Vol. 6, No. 4, pp. 260-279, 2005. https://doi.org/10.1016/j.accinf.2005.07.001
  9. J. Cho,. "Countermeasures for BadUSB Vulnerability," Journal of the Korea Institute of Information Security and Cryptology, Vol. 25, No. 3, pp. 559-565, 2015. https://doi.org/10.13089/JKIISC.2015.25.3.559
  10. Axelson, Jan, "USB Complete: the Developer's Guide," Lakeview research LLC, 2015.
  11. Bus Universal Serial, "Device Class Definition for Human Interface Devices (HID)," 2001.
  12. Logic. Beyond, "USB in a NutShell," 2014.
  13. A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, "Handbook of applied cryptograph," CRC press, 1996.
  14. Atmel Corporation, "Atmel AT02333: Safe and Secure Booltloader Implementation for SAM3/4", 2013.
  15. Y. Li, J. M. McCune, A. Perrig, "VIPER: Verifying the Integrity of PERipherals' Firmware.", Proceedings of the 18th ACM Conference on Computer and Communications Security, 2011.
  16. TEXAS INSTRUMENTS "Application Report : Secure In-Field Firmware Updates for MSP MCUs", 2015.
  17. Intel Company, "MCSr 51 Microcontroller Family User's Manual.", Intel, 1994.
  18. MSDN Microsoft, "Introduction to Code Signing," https://msdn.microsoft.com/en-us/library/ms537361(v=vs.85).aspx
  19. F. Vahid, T. Givargis, "Embedded System Design: a Unified Hardware/software Introduction," New York Wiley, 2002.