728x90
2020-07-22
- 지난 시간에는 최적화 이론에 사용되는 벡터 함수의 다양한 미분들에 대해서 간단히 정리하고, 오픈소스 하드웨어 플랫폼을 이용한 AI 스피커를 살펴보면서 IoT 장비들의 펌웨어 구조와 인터페이스 등을 살펴보았습니다. 이 과정에서 장치들의 스팩과 사용 방법들을 알 수 있는 데이터 시트를 찾는 방법과 보는 방법에 대해서 배우고, 소스 코드나 통신 그리고 서비스 등에서 보안 취약점을 찾을수 있는 다양한 취약점 진단 도구들을 살펴보았습니다. 이번 시간에는 최적화 알고리즘들을 본격적으로 학습하기에 앞서 레벨 집합과 컨벡스 함수, 어떤 최적화 알고리즘들이 있는지 간단하게 살펴보고 통신 프로토콜과 취약점 실습 등으로 보안 학습을 마무리 하겠습니다.
- 우선 최적화에 대해서 학습하면서 그 동안 다변수 함수들을 이용하면서 이변수 함수인 경우 평면, 삼변수 함수인 경우 공간에 대한 결과가 나오게 되었습니다. 삼변수 함수인 경우 z축에 대해 특정 값에 해당하는 (x, y) 집합들이 존재하게 되는데 이를 등고선(레벨)이라 하게되며, 여러 z축 값에 대한 등고선들의 집합을 레벨 집합이라 부릅니다. 이 레벨집합(등고선 모임)에서 가장 기울기가 큰 방향으로 경사하강하여 적절한 최소지점을 찾게 된다고 합니다. 여기서 나오는 등고선에 속하는 직선 집합을 구하는 함수가 컨벡스 함수이고, 이러한 레벨 집합과 컨벡스 함수등이 최적화 알고리즘에 적용 됩니다. 다음 시간에는 경사 하강법, 직선 탐색, 뉴턴 방법 등 최적화 알고리즘을 제대로 학습할 예정입니다.
- 최적화 이론을 잠깐 살펴보고, 취약점 분석에 사용되는 다양한 도구들을 사용해보았습니다. 첫 번째로 펌웨어 이미지를 추출하는 FMK로 실제 배포중인 공유기의 펌웨어로부터 실제 데이터를 추출하여 공유기 설정 페이지 등 내부 데이터들을 확인할 수 있었으며, 이 내부 데이터를 수정 후 다시 빌드함으로서 배포중인 펌웨어를 고쳐보았고, NMAP을 이용하여 특정 웹서비스가 동작하는 장치에서 어떤 포트들이 동작하는지 확인할 수 있었습니다. 이 외에도 Yasca를 이용하여 웹 해킹 실습을 위한 오픈소스인 Webgoat 소스의 취약점들을 분석하여 하드코딩된 비밀번호의 존재 여부 등 다양한 취약점 결과가 나온느것을 확인하였습니다.
- 다양한 취약점 분석 도구를 사용해봄과 동시에 IoT에서 주로 사용되는 통신 방식인 WiFi, 지그비, 블루투스, RF 등의 통신 방식과 메시지 전송 프로토콜 MQTT를 살펴보면서, 이들의 특징과 취약점들을 살펴보았습니다.
- 이 외에도 안드로이드 취약점 분석 과정에서 암호화 되지 않은 안드로이드 패키지 파일 apk에서 소스 레벨의 내용들을 둘러보거나, MQTT 리스너를 통해 온습도 센서의 값들을 안드로이드 상에서 확인할 수 있었습니다.
- 마지막으로 사용자 정의 라디오 신호 SDF의 개념을 살펴보면서 대표적인 SDF 장비인 HackRF를 이용하여 리모컨으로 프로젝터 스크린의 올리고 내리는 신호를 스니핑하여, 리모컨을 동작시키지 않는 중간에도 HackRF를 통해 동일한 신호를 송신하여 프로젝터 스크린 제어 시연을 보면서 이번 IOT 보안 학습을 마무리 하였습니다.
300x250
'미분류' 카테고리의 다른 글
2020-07-25 (0) | 2020.07.26 |
---|---|
영상이해를 위한 최적화 기법 (0) | 2020.07.26 |
2020-07-21 (0) | 2020.07.22 |
2020-07-20 (0) | 2020.07.21 |
2020-07-17 (0) | 2020.07.19 |