마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안녕하세요. 서버 및 안드 보안 관련드립니다.

0 추천
안녕하세요.

보통은 보안을 많이 신경써도...

뚫리기 마련인데요...

그래도 보안 확률을 높일 수 있는 많은 방법들좀 제시부탁드립니다.

인젝션, ssl, 프로가드 등등 여러가지가 있는것 같은데...

부족함이 너무 커서 도움을 받고 싶네요.

감사합니다.
앱개발잼나 (1,450 포인트) 님이 2013년 7월 10일 질문

1개의 답변

0 추천
 
채택된 답변
SQL인젝션: 서버에 쿼리를 보낼때 ', " 등 db 예약어를 보내 서버 쿼리를 자기가 수정하는겁니다

예를 들어 ' OR '1'=1'  를 보내면 SQL인젝션 방지를 안 할 경우, 로그인이 됩니다

sql 문이  select * from user where id='$id' and pw='$pw' 인 경우

 

select * from user where id='' OR '1'=1' ' and pw='' OR '1'='1 '

이런 문장이 됩니다

 

id가 '' 이거나 '1' = '1'  -> 언제나 true입니다

pw가 '' 이거나 '1' = '1'  -> 언제나 true입니다

 

mysql이나 mysqli는 각자 mysql_real_escape와 mysqli_real_escape로 막고요

인젝션은 해킹 기법입니다. 매우 허접한 해킹기법이죠 ㅋㅋ 함수하나에 막히는 수준...

 

 

 

ssl 이란 Secured Socket Layer의 약자로, 서버와 클라이언트가 통신할때 중간에서 패킷을 가로채거나, 변조할 수 없게 만듭니다.

단, 서버의 부하가 심해집니다. 암호화된 만큼 해독해야되서죠.

https가 ssl을 쓰는 연결입니다 (먼저 SSL 인증서를 구매하시고, 적용하셔야해요, startcom인증서는 무료입니다)

 

 

 

프로가드란 메소드 이름, 클래스 이름은 a 같은 식으로 바꿔주는 툴입니다.

a.a, ab.a 이렇게 바뀌는거죠

프로가드 해도 뚫는 사람은 뚫습니다만 (전 뚫습니다. 많이 해보면 익숙해져요)

어설픈 초짜들은 못 뚫게 됩니다
GozaMaker (4,740 포인트) 님이 2013년 7월 11일 답변
앱개발잼나님이 2013년 7월 15일 채택됨
안녕하세요! 글을 너무 잘봤습니다.
이것 이외에 다른 방어책은 없을까요???
상당히 많을 것 같은데...
간단 명료하게 포인트만 콕 찝어주셔서 글을 써주시니,
너무 재밌게 잘 봤습니다.
더 알고 싶은데...
제가 모르는 부분도 볼수 있도록 도와주시면 감사하겠습니다.
수고하세요^^
방어책은 너무 많아서
목록만 얘기하기도 힘듭니다
(기억은 못합니다;; 공격법별로 방어법, 설명은 가능하지만요.)
...