웹 서버 모듈 보안문제 해결에 대한 질문입니다.

kesyut의 이미지

안녕하세요. 컴퓨터공학과 학생입니다.
올해 졸업작품으로 스마트폰(안드로이드)기반 어플을 제작하던 중에 보안문제 해결을 고민하다가 이렇게 글을 올립니다.
일단 외부 데이터베이스에 접근을 합니다. 하지만 아직은 어플단에서 외부 데이터베이스로 직접적인 접근이 지원되지 않기 때문에
중간(IIS서버)에 ASP모듈을 두고 데이터를 주고 받습니다. 그런데 문제는 당연히 외부로 url을 공개하지 않지만
스니핑을 통해 정상적인 어플에서의 접근이 아닌 임의의 접근이 충분히 이루어 질 수 있기 때문에 이를 막기 위한 로직을 추가해야 합니다.
서버가 개인서버가 아니라 DB를 구성한다거나 뭔가 문제될만한 조작은 하지못합니다.
어플단에서 들어온 요청만을 허용할 수 있는 어떤 암호화로직이라던지 하는 해결방안이 혹시 있을까요?
물론 접근조차 하지못하게 하자는것이 아니라 특정 조건을 패스해야만 코드를 실행시킬 수 있는 방안이 되겠죠.
선배님들의 조언을 기다리겠습니다. 감사합니다.

익명 사용자의 이미지

저같은 경우 폴더에 락을 걸어 버립니다
물론 백신은 필수입니다
다음 폴더에 접근하는 프로세스별로 사용자를 추적합니다
이건좀 귀차니즘에서 통과
편리한쪽으로 아이디를 걸러냅니다
그리고 그폴더를 여는 나만의 프로세서를 만듭니다
다음에 리스박스에서 폴더와 대화를 합니다
참고 되었으면 좋겠네요

세이군의 이미지

1차로 생각해볼 수 있는 방법이 HTTP User-Agent 헤더를 이용해보는 방법입니다.
최근에는 헤더를 속여서 접근하는 방법도 있기는 하지만 데스크탑과 모바일장비(일반폰, 스마트폰, PDA)를 구별할 수 있는 가장 간단한 방법입니다.

두번째 방법으로는 인증을 위한 ASP 페이지를 앞단에 두고 이를 통과해야 DB접근이 필요한 페이지로 접속할 수 있도록 구성하는 방법입니다.
인증토큰은 수시로 변경이 되고 앱을 해킹하지 않는 한 알아낼 수 없도록 하면 됩니다.

kesyut의 이미지

답변 감사드립니다.
일단 헤더를 이용하는 방법을 생각을 안해본것은 아니지만
물론 헤더를 속여서 접근하는 방법에 취약할뿐더러
모바일 웹브라우져단에서 접근할 경우도 접근을 막아야하므로 적합하지 않다고 생각이드네요.
그리고 두번째 방법은 스니핑을 통해 인증코드를 캐치할 수 있고
수시로 변경되며 앱을 해킹하지 않는 한 알아낼 수 없도록 하는 암호화 알고리즘이 어떤것이 있는지 모르겠습니다.

lacovnk의 이미지

클라이언트를 믿지 마세요 - 게임 서버에서 어떻게 처리하는지 한번 참고해보세요 ㅎㅎ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.