- AI기초
- prompt injection
- xz-utils
- 정보보안
- aiforbeginners
- aiinterviewprep
- 보안뉴스
- ai입문
- ai hacking
- elasticsearch
- metasploit_series
- largelanguagemodels
- airesearch
- ai prompt
- Security
- llm활용
- llm attack
- MachineLearning
- llm 활용
- llm hacking
- PromptEngineering
- aiengineer
- ai vulnerability
- llm questions
- llm model
- ChatGPT
- llmexplained
- AI질문
- 프롬프트엔지니어링
- llminterviewquestions
- Today
- Total
ARTIFEX ;)
iOS App에서 HTTP 통신 허용하기 본문
ios9 이후부터는 HTTP가아닌 HTTPS로의 접근만 허용하였기 때문에 HTTP로 접근 하기위해서는 설정이 필요하다.
자세히 설명하자면 Apple 에서 앱 자체의 보안성을 위해 ATS(App Transport Security)라는 정책을 통하여 iOS9 버전 이후 부터는 보안에 취약한 네트워크를 차단시킨다.
보통은 앱 개발 테스트 시 HTTP 서버와 통신 시도를 하면 에러가 나오는 경우인데
앱 분석 등을 진행하다가 발생할 수 있기에 해당 에러에 관한 글을 정리하려고 한다.
(사실 오래전에 포스트한 글이지만 타 플랫폼에 있어서 옮길 겸 재정리)
앱 개발적인 부분이 많으므로 필요한 부분만 참고하면 될 듯 하다.
Apple 측에선 앱 자체의 보안성을 위해 ATS(Apple Transport Security)라는 정책을 설정하여 기본적으로 https 통신을 유도한다. → HTTP 자체를 Deny.
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
</dict>
http 테스트를 위해 info.plist에서 ATS부분을 추가해주어야 함.
NSAppTransportSecurity의 NSAllowsArbitraryLoads 값을 true로 지정한다.
이후 앱을 빌드하면 문제없이 http 서버와 잘 통신된다. 실제 배포에선 http 사용이 없다면, 허용하지 않는게 맞을 것 같고, 보안적인 관점에서도 궁극적으로 저 옵션을 안키도록 https를 기본으로 가져가고 사용하는 구간이 발견되면 리포팅 하는게 좋을 듯하다.
다만, 보안상 모든 사이트에 대한 HTTP를 오픈하는 것은 비추천함으로 특정 사이트만 오픈을 위해 아래와 같은 방식으로 코드 수정을 권고
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>도메인주소(www.naver.com)</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
'# Security > Vulnerabilities Info' 카테고리의 다른 글
CPU Meltdown & Spectre 취약점 1 (in 2022) (0) | 2024.04.01 |
---|---|
HTTPS Renegotiation 취약점 리뷰 (0) | 2024.04.01 |
CVE-2024-3094 백도어 악성코드 발견 in XZ Utils Library (0) | 2024.04.01 |
엔드포인트란? (0) | 2020.05.11 |
기업 내부 보안을 위협하는 쉐도우IT 대응법은? (0) | 2020.05.11 |