Everything is a Dream

soyoyoo.egloos.com

포토로그



QWASP Top 10 Mobile Risks Prevent Tips computing

영어실력이 딸려서 번역이 이상할 수 있으니 틀린부분은 지적해 주십시요.

● Insecure Data Storage (불안한 데이터 저장소)

Store ONLY what is absolutely required
반드시 꼭 필요한 것만 저장할 것
Never use public storage areas
공개된 저장공간을 사용하지 말 것
Leverage secure containers and platform provided file encryption APIs
보안컨테이너나 플렛폼이 제공하는 파일 암호화 API들을 이용할 것
Do not grant files world readable or world writable permissions
파일들에게 공개된 읽기 쓰기 권한을 부여하지 말 것

● Weak Server Side Controls (약한 서버측 제어)
Understand the additional risks mobile apps introduce into existing architectures
아키텍처에 존재하여 모바일 앱으로 유입되는 부가적인 리스크들을 이해할 것
Leverage the wealth of knowledge that is already out there
외부에 존재하는 지식자원들을 이용할 것
OWASP Web Top10, Cloud Top10, Web Services Top10
Cheat sheets, development guides, ESAPI (Enterprise Security API)


● Insufficient Transport Layer Protection (불충분한 전송층 보호)
Ensure that all sensitive data leaving the device is encrypted
민감한 데이터가 디바이스를 떠날때는 반드시 암호화 되도록 할 것
This includes data over carrier networks, WiFi, and even NFC
이것들이 케리어 네트워크, 와이파이, 심지어 NFC 위의 데이터들에게도 포함될 것
When security exceptions are thrown, it’s generally for a reason...DO NOT ignore them!
세큐리티 예외가 던져졌을 때, 이것들이 일반적인 이유라고 하더라도 절대 무시하지 말 것

● Client Side Injection (클라이언트 측 주입)
Sanitize or escape untrusted data before rendering or executing it
신뢰할 수 없는 데이터는 렌더링 혹은 실행하기 전에 삭제, 회피할 것
Use prepared statements for database calls...concatenation is still bad, and always will be bad
데이터베이스를 부를 때는(SQL)는 반드시 Prepared Statement를 사용할 것. 문자열 결합은 여전히 나쁘며, 항상 나쁠 것임
Minimize the sensitive native capabilities tied to hybrid web functionality
민감한 내부 기능을 웹 기능들과 묶는 것을 최소화

● Poor Authorization and Authentication (빈약한 권한부여와 인증)
Contextual info can enhance things, but only as part of a multi-factor implementation
문맥정보 향상된 것이지만  멀티팩터 구현의 부분일 뿐
Out-of-band doesn’t work when it’s all the same device
모두 같은 디바이스일 때 아웃오브밴드는 기능하지 않음
Never use device ID or subscriber ID as sole authenticator
절대 디바이스 혹은 서명자ID를 단독인증자로 사용하지 말 것

● Improper Session Handling (부적절한 세션 핸들링)
Don’t be afraid to make users re-authenticate every so often
사용자를 자주 재인증 시키는 것을 두려워 하지 말 것
Ensure that tokens can be revoked quickly in the event of a lost/stolen device
잃어버린 혹은 도난당한 디바이스에 있는 토큰을 재빨리 무효화하여 안전케 할 것
Utilize high entropy, tested token generation resources
검증된 토큰 생성 리소스로  높은 불확정성을 활용할 것

● Security Decisions Via Untrusted Inputs (신뢰할 수 없는 입력들에 의한 보안결정들)
Check caller’s permissions at input boundaries
경계치 입력에서 발신자 권한 체크
Prompt the user for additional authorization before allowing
허가전 부가적인 인증을 위한 유저 프롬프트
Where permission checks cannot be performed, ensure additional steps required to launch sensitive actions
권한체크를 실행할 수 없는 곳에서는 민감한 액션을 기동하기 위해 반드시 부가적인 단계 거치게 할 것

● Side Channel Data Leakage (주변채널에 의한 데이터 누수)
Never log credentials, PII, or other sensitive data to system logs
신용정보, 개인식별정보 혹은 다른 민감한 정보를 시스템로그에 절대 기록하지 말것
Remove sensitive data before screenshots are taken, disable keystroke logging per field, and utilize anti-caching directives for web content
스크린샷을 만들기 전에 민감한 정보를 삭제할 것, 항목에 대한 키스트록 기록을 허용하지 말 것, 그리고 웹컨텐츠에 캐싱을 막는 지시자를 이용할 것
Debug your apps before releasing them to observe files created, written to, or modified in any way
어떠한 감시파일의 생성, 쓰기, 수정들에 대해 릴리즈 전에 디버그 할 것
Carefully review any third party libraries you introduce and the data they consume
당신이 도입한 써드파티 라이브러리들과 그것들이 소비하는 데이터에 대해 주의깊게 리뷰할 것
Test your applications across as many platform versions as possible
당신의 애플리케이션을 가능한 많은 버전의 플렛폼에서 테스트 할 것

● Broken Cryptography (암호화 파괴)
Storing the key with the encrypted data negates everything
키가 암호화된 데이터화 함께 저장되는 것으로 모든것은 부정됨
Leverage battle-tested crypto libraries vice writing your own
당신이 작성한 것을 대신하여 검증된 암호화 라이브러리를 사용할 것
Take advantage of what your platform already provides
당신의 플랫폼이 제공하는 것들의 이점을 취할 것

● Sensitive Information Disclosure (민감한 정보의 폭로)
Private API keys are called that for a reason...keep them off of the client
개인 API 키들은 여러가지 이유로 클라이언트에 두지 말라고 말해짐
Keep proprietary and sensitive business logic on the server
독점적이고 민감한 업무로직은 서버에 둘 것
Almost never a legitimate reason to hardcode a password(if there is, you have other problems)
패스워드를 하드코드할 정당한 이유는 거의 없음(있다면 당신은 다른 문제들을 가진 것임)

덧글

댓글 입력 영역

bar-text