우선, 저는 개인적으로 보안 테스트를 거친 App 가 반드시 안전하다는 것을 의미하지는 않는다고 생각합니다. 알려진 보안 문제를 줄이고, 보안 위험을 줄이며, App 의 디버깅, 분석 및 임계 값을 높였다고 말할 수 있습니다. 그렇다면 일반적으로 보안 테스트를 수행하는 방법은 무엇입니까?
보안 테스트는 일반적으로 동적 기능 테스트와 정적 테스트로 구분됩니다.
동적 기능 테스트는 일반적으로 App 자체의 내용으로 시작하여 테스트 내용을 정리합니다.
응용 프로그램 콘텐츠로 시작합니다. 예를 들어 응용 프로그램에 계정 로그인을 제공하는 기능이 있습니다.
핸드폰에 로컬로 저장된 로그인 계정에 비밀번호가 있나요?
서버와의 상호 작용 패킷에 대한 암호화 처리 제공 여부도 묻습니다.
대화형 패킷의 계정 암호도 처리되는지 여부
그런 다음 암호화 키를 숨길 것인지 묻습니다.
그리고 잘못된 계정이나 암호의 로그인 횟수에 제한이 있는지 여부.
전체 프로세스는 애플리케이션 자체의 기능 지점에서 트리거되는 일련의 테스트 내용임을 알 수 있습니다. 이러한 유형의 보안 테스트는 테스터에게 App 에 대한 보안 공격을 요구하고 보안을 확인하는 것과 더 비슷합니다.
테스트 과정 전반에 걸쳐 수작업으로 참여해야 하는 기능이 더 많아 자동 테스트를 할 수 없다는 것을 알 수 있습니다.
위에서 설명한 애플리케이션 컨텐츠 관련 테스트가 동적 기능 테스트인 경우 정적 테스트를 살펴보겠습니다.
정적 테스트 주요 테스트는 무엇입니까?
위의 테스트 논리를 보면 패킷이 암호화되어 있는지 어떻게 알 수 있습니까? 디버깅을 통해 App 프로세스를 분석할 수 있습니다.
그렇다면 어떤 앱이 디버깅, 분석, 해독에 더 취약할까요? 여기에는 Apk 자체의 많은 구성이 포함됩니다. 예를 들어 Apk 의 AndroidManifest.xml 파일에는 Android 와 비슷한 플래그 비트 Debuggable =“false "가 있습니다. 또한 Apk 는 하단에 Java 를 사용하기 때문에 소스 코드를 얻기 위해 쉽게 디컴파일하여 응용 프로그램의 취약점을 더 자세히 분석할 수 있습니다. 따라서 이와 관련하여 Java 의 dex 파일을 보호하거나 혼동할 필요가 있습니까?
요약하면, 우리는 정적 테스트가 Apk 파일 자체의 수준에서 더 많이 수행된다는 것을 알 수 있으므로 일반적입니다. 더 중요한 것은 이 테스트 내용이 자동화 테스트에 더 적합하다는 것입니다.
App 의 정적 테스트의 경우 자동 테스트 도구인 WeTest Tencent 품질 오픈 플랫폼 (wetest.qq.com) 이 보안 문제를 스캔할 수 있습니다. 더 많은 기능 문제는 여전히 수동 검색이 필요합니다.
이상, * * * 진보와 함께, 축복!