Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2016 IoT 기반 ARP 공격 탐지 시스템

4 views

Published on

IoT + Security Hackathon 2016 발표 자료입니다.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

2016 IoT 기반 ARP 공격 탐지 시스템

  1. 1. IoT 기반 ARP 공격 탐지 시스템 IoT + Security Hackathon 2016 맞동산 팀 최한동 wschd770@gmail.com 이선우 swoo1015@naver.com
  2. 2. 목차 1. 이게 무엇인가요? 2. 구성 요소 3. 개발 과정 4. 시연 5. 후기 6. Q & A 7. Reference
  3. 3. 1. 이게 무엇인가요? • IoT 기기(스마트폰, 스마트홈, CCTV, 자동차 등)가 해킹을 당했다!? DEF CON 23 Black Hat 2015
  4. 4. 1. 이게 무엇인가요? • 모든 해킹을 방어하는 시스템? No! • ARP(Address Resolution Protocol) → ARP Spoofing은 모든 네트워크 기반 공격의 시초다! • 사용한 서비스와 제품들
  5. 5. 2. 구성 요소 • 공격 PC(Ubuntu OS) • 탐지 PC(Windows OS) • 안드로이드 기기(Android OS) • 공유기, 허브 → Wi-Fi로 연결했지만 환경 제한 시 유선 연결 대체 가능! • Microsoft Azure(Azure IoT Hub, Stream Analytics, Azure SQL, Power BI, Blob Storage)
  6. 6. 3. 개발 과정 • Python으로 ARP 변조 탐지 및 Azure IoT Hub 전송 코드 작성하기 → MAC Vendors API, pypcapfile Python 모듈 사용 • 이 외에도 Wireshark CLI인 tshark, editshark으로 패킷 캡처 개발 START!
  7. 7. 3. 개발 과정 • Microsoft Azure IoT Hub를 생성하자! • Python에서 IoT Hub로 연결하기 위해 공유 액세스 정책에서 iothubowner를 선택하여 auth_string(액세스 키)으로 활용
  8. 8. 3. 개발 과정 • Blob Storage 2개를 생성한다! → redboltrawdata는 정상+비정상 패킷 저장용 컨테이너 → redboltrawdatadanger는 비정상 패킷 저장용 컨테이너 ★ 정상, 비정상 패킷 같이 저장하는 이유는? • Blob Storage 암호화 저장 사용 체크!
  9. 9. 3. 개발 과정 • 나중에 데이터 시각화를 하면 추출할 수 있는 SQL DB 생성 → Microsoft Power BI 활용 • 데이터베이스 암호화 사용 체크!
  10. 10. 3. 개발 과정 • Azure Stream Analytics에서 실시간 데이터 분석을 위한 토폴로지 → INPUT 1개 INPUT: Python 코드로부터 받은 패킷 데이터 → OUTPUT 3개 OUTPUT: 정상+비정상 패킷 데이터 저장(redboltrawdata) OUTPUTDANGER: 비정상 데이터 저장(redboltrawdatadanger) OUTPUTS: 정상+비정상 패킷 데이터 SQL DB 저장용
  11. 11. 3. 개발 과정 • 앞 토폴로지 쿼리 입력 부분 → 처음 SELECT ~ FROM 구문은 정상+비정상 패킷 데이터를 redboltrawdata로 전송! → 중간 구문은 비정상 패킷 데이터를 redboltrawdata로 전송하는데, 1분당 15개 이상 비정상 패킷이 식별되면 전송! → 마지막 구문은 처음에 보낸 데이터를 SQL DB로 전송하는 부분
  12. 12. 3. 개발 과정 1. ARP Spoofing 공격하기 전에 기기 IP를 먼저 확인(Ping 스캔, ARP 활용하여 확인 가능) 2. 공격 PC는 존재하지 않는 MAC 주소로 변조한 뒤 공격 시도 3. 공격 PC에서 공격 코드로 기기로 ARP Spoofing 공격!
  13. 13. 3. 개발 과정 4. ARP Spoofing 공격 후 안드로이드 기기의 192.168.11.1 게이트웨이(Gateway) MAC Address 확인 결과, 공격 PC MAC 주소로 변조된 것을 확인! → 사용된 도구: Ubuntu ADB Shell • 간단한 테스트로 안드로이드 기기에서 깃허브(GitHub)로 접속하면.. ARP Spoofing 공격받은 상태
  14. 14. 3. 개발 과정 • 공격 PC에서 Wireshark로 패킷을 확인해보면 기기에서 나가는 패킷이 redirection되어 공격 PC를 거쳐서 전송되는 것을 알 수 있다!
  15. 15. 3. 개발 과정 • 이 때 탐지 PC에서 ARP 변조 탐지 코드를 통해 SEND_CALLBACK 메시지 확인 가능 • Azure Storage Explorer에 들어가서 보면 정상적으로 2개의 Blob Storage에 쌓이고 있음을 알 수 있다
  16. 16. 3. 개발 과정 • 앞 토폴로지 쿼리 구문에 의해 SQL DB에는 다음과 같이 데이터가 쌓이고 있음을 알 수 있다
  17. 17. 3. 개발 과정 • 마지막으로 Power Bi를 이용해 DB와 Blob Storage에 저장된 데이터를 사용자가 보기 편하도록 데이터 시각화 진행 • Power BI에서도 데이터베이스 연동 시 암호화를 통해 안전성 보장!
  18. 18. • 이 시스템은 안드로이드 기기와 공유기, 허브가 구성된 환경에서 개발했지만 오늘 시연에서는 물리적으로 제한되는 환경 속 신속한 테스트를 고려하여 랜선, 무선랜 어댑터, VM을 사용할 수 있습니다. 잘 봐주세요! 4. 시연
  19. 19. • 해킹은 결국 방치에서 시작된다! • 공격자는 절대 입 밖으로 말하지 않는데 피해자도 말이 없으면? → 결론은 보안 위협이란 스스로 해결해야 한다는 것이고 이는 다른 사람에 대한 예의, 매너다! • 보안인 or 공부하라는 말이 아니다. 조금씩 천천히 습관을 길들이자 5. 후기
  20. 20. 정말 힘들었습니다 흑흑 계속 밤새고.. 정신없이 일도 제대로 못하고.. 아아.. 5. 후기
  21. 21. 질문 있나요? ☺ 6. Q & A
  22. 22. • DEF CON 23 해킹 사례 http://www.slideshare.net/Synack/internet-of-things-51400317 • Black Hat 2015 해킹 사례 http://www.usatoday.com/story/tech/2015/08/04/black-hat- computer-security-internet--things-cars-hack/31097989/ • ARP Spoofing 공격 설명 https://en.wikipedia.org/wiki/ARP_spoofing • Microsoft Azure 로고 https://www.microsoftazurepass.com/ • Microsoft Visual Studio 로고 http://jtower.com/blog/undocking-parts-of-team-explorer-in- visual-studio • Microsoft Power BI 로고 https://www.youtube.com/watch?v=cHkMfPtmfyE • 안드로이드 기기 로고 http://www.freetelepromptersoftware.com/android/ • 우분투 OS 로고 https://www.ubuntu.com/ • 윈도우 OS 로고 https://twitter.com/windows 7. Reference

×