Skip to main content
QUICK REVIEW

[논문 리뷰] Stack Overflow Considered Harmful? The Impact of Copy&Paste on Android Application Security

Felix Fischer, Konstantin Böttinger|arXiv (Cornell University)|2017. 10. 09.
Advanced Malware Detection Techniques참고 문헌 27인용 수 38
한 줄 요약

이 논문은 Android 앱에 Stack Overflow에서 코드 스니펫을 복사하여 붙여넣는 것이 보안에 미치는 영향을 조사한다. 자동화된 정적 분석과 머신러닝을 사용하여, 분석한 130만 개의 Android 앱 중 15.4%가 Stack Overflow에서 온 보안 관련 스니펫을 포함하고 있으며, 이 중 97.9%가 비보안 코드를 포함하고 있음을 확인하여, 광범위한 비보안 코드 재사용으로 인해 Android 생태계에 심각한 위험이 존재함을 드러낸다.

ABSTRACT

Online programming discussion platforms such as Stack Overflow serve as a rich source of information for software developers. Available information include vibrant discussions and oftentimes ready-to-use code snippets. Anecdotes report that software developers copy and paste code snippets from those information sources for convenience reasons. Such behavior results in a constant flow of community-provided code snippets into production software. To date, the impact of this behaviour on code security is unknown. We answer this highly important question by quantifying the proliferation of security-related code snippets from Stack Overflow in Android applications available on Google Play. Access to the rich source of information available on Stack Overflow including ready-to-use code snippets provides huge benefits for software developers. However, when it comes to code security there are some caveats to bear in mind: Due to the complex nature of code security, it is very difficult to provide ready-to-use and secure solutions for every problem. Hence, integrating a security-related code snippet from Stack Overflow into production software requires caution and expertise. Unsurprisingly, we observed insecure code snippets being copied into Android applications millions of users install from Google Play every day. To quantitatively evaluate the extent of this observation, we scanned Stack Overflow for code snippets and evaluated their security score using a stochastic gradient descent classifier. In order to identify code reuse in Android applications, we applied state-of-the-art static analysis. Our results are alarming: 15.4% of the 1.3 million Android applications we analyzed, contained security-related code snippets from Stack Overflow. Out of these 97.9% contain at least one insecure code snippet.

연구 동기 및 목표

  • 실세계 Android 애플리케이션에 Stack Overflow에서 유래한 비보안 코드 스니펫이 얼마나 널리 퍼져 있는지 평가하기.
  • 공개 개발자 포럼에서 생산된 보안 관련 코드 스니펫이 실제 Android 앱에 얼마나 퍼져 있는지 정량화하기.
  • Android 개발을 위한 Stack Overflow에서 공유되는 일반적인 코드 스니펫의 보안 품질 평가하기.
  • 커뮤니티 플랫폼에서의 코드 재사용을 감지하기 위한 확장성 있고 자동화된 파이프라인 설계 및 구현하기.
  • 실시간으로 비보안 코드 스니펫을 경고할 수 있는 브라우저 플러그인과 같은 실용적인 대응 전략 제안하기.

제안 방법

  • Android 관련 Stack Overflow 게시물에서 4,019개의 보안 관련 코드 스니펫을 크롤링하고 추출하였다.
  • 보안/비보안 코드 스니펫에 레이블이 붙은 데이터로 훈련된 확률적 경사 하강 분류기를 적용하여 보안 점수를 할당하였다.
  • Android 앱에서 효율적인 클론 탐지용으로 사용 가능한 프로그램 의존성 그래프(PDGs)를 생성하였다.
  • 최신 정적 분석 기법을 사용하여 Google Play의 130만 개의 Android 앱에서 정확하거나 유사한 코드 스니펫 일치를 탐지하였다.
  • 공개 포럼에서 생산된 소프트웨어로의 코드 흐름을 대규모로 측정하기 위한 완전히 자동화되고 확장 가능한 파이프라인을 구축하였다.
  • 웹 플랫폼에서 코드 스니펫의 실시간 보안 분류를 가능하게 하는 브라우저 플러그인 프로토타입을 개발하였다.

실험 결과

연구 질문

  • RQ1Stack Overflow에서 온 보안 관련 코드 스니펫이 실제 Android 애플리케이션에 얼마나 널리 복사되어 있는가?
  • RQ2Stack Overflow에서 복사된 코드 스니펫을 포함한 Android 앱들 중 비보안 스니펫은 얼마나 퍼져 있는가?
  • RQ3머신러닝 기법이 커뮤니티 제공 코드 스니펫의 보안 품질을 효과적으로 분류할 수 있는가?
  • RQ4개발자가 공개 포럼에서 보안 관련 코드를 선택하고 재사용하는 행동 패턴은 어떠한가?
  • RQ5자동화된 도구는 비보안 코드 스니펫을 소프트웨어에 통합되기 전에 탐지하고 경고할 수 있는가?

주요 결과

  • 분석한 130만 개의 Android 애플리케이션 중 15.4%가 Stack Overflow에서 온 최소한 하나의 보안 관련 코드 스니펫을 포함하고 있었다.
  • Stack Overflow 스니펫을 포함한 애플리케이션 중 97.9%가 최소한 하나의 비보안 코드 스니펫을 포함하고 있어, 결함이 있는 코드가 널리 퍼져 있음을 시사한다.
  • 연구진은 Stack Overflow에서 유래한 취약한 코드 스니펫을 포함한 196,000개의 Android 애플리케이션을 특정하여, 대규모 보안 위험을 드러냈다.
  • 연구진은 Stack Overflow에서 온 보안 코드 스니펫을 사용하는 73,000개의 애플리케이션을 탐지하여, 높은 품질의 코드도 널리 재사용되고 있음을 입증했다.
  • 메타데이터 분석 결과, 비보안 코드 스니펫은 종종 높은 찬성 수를 기록하는 것으로 나타나, 인기와 보안 품질 간의 상관관계가 없음을 시사한다.
  • 연구는 금융 및 게임 분야와 같은 특정 분야에서 특정 보안 라이브러리를 선호하는 경향을 발견하여, 애플리케이션 유형에 따라 공격 표면이 달라질 수 있음을 시사한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.