Using Chrome's accessibility APIs to find security bugs
- Chrome UI 보안 문제점
- Chrome의 UI 코드가 복잡해 메모리 손상과 같은 취약점이 발생할 가능성 존재
- 사용자의 클릭과 동작이 메모리 손상을 유발할 경우, 공격자가 악용할 가능성이 있음
- 보안 사고의 영향이 불분명한 경우가 많아 분석과 해결이 어려움
- 접근성 트리를 활용한 자동 버그 탐지
- Chrome은 스크린 리더 및 점자 장치와 같은 보조 기술을 위해 전체 UI 트리를 노출
- 이 UI 트리를 퍼징(fuzzing)하여 반자동으로 UI 취약점을 찾아내는 방법을 도입
- 퍼징 도구가 UI 제어 요소에 반랜덤으로 상호작용하여 잠재적인 충돌을 유발하는지 테스트
- UI 퍼징의 주요 기술적 과제
- InProcessFuzzer 프레임워크 활용: 실제 Chrome 환경에서 퍼징 테스트 수행하여 정확성 보장
- Centipede 도구 사용: 수천 개의 테스트 케이스를 묶어 실행, 초기화 비용 절감
- 커버리지 기반 퍼징 적용: 새 코드를 탐색하도록 유도하여 잠재적 버그 발견 가능성 증대
- Chrome UI 상태가 테스트마다 변경되므로 상태가 계속 유지되는 방식으로 설계 필요
- 진단을 위한 테스트 케이스 안정성 확보
- 버그가 있는 테스트 케이스가 Chrome 버전 간 안정적으로 재현되도록 구조화
- 초기에는 순서 기반 선택 방식 사용하였으나 Chrome UI 업데이트에 따라 불안정
- 이름과 역할 기반 접근법 채택, 역할과 순서를 조합해 안정성 확보
- 현재 결과 및 향후 계획
- 초기 버그를 몇 가지 발견했지만, Chrome의 UI 전반을 탐색하기에는 아직 미비
- ClusterFuzz 인프라에서 몇 시간 동안 실행 중이며 커버리지 대시보드 적용 확장 예정
- 최종 결과는 미정이지만 UI 코드의 커버리지 확장을 통해 보안 개선을 목표
'Kant's IT > Issue on IT&Security' 카테고리의 다른 글
하이브리드 비밀번호 공격의 원리와 방어 방법 (1) | 2024.11.19 |
---|---|
데이터 과학자가 생성형 AI 혁신을 위해 갖춰야 할 5가지 역량 (1) | 2024.11.19 |
ISMS 및 ISMS-P 인증을 위한 악성 메일 모의훈련 반복의 중요성 (0) | 2024.11.19 |
국가배후 사이버 공격과 국제적 안보 위협 (2) | 2024.11.19 |
GitHub와 Telegram 봇, ASCII QR 코드 악용한 새로운 피싱 공격 (1) | 2024.11.18 |