[완료]로컬어플리케이션의 변수에 패스워드를 문자열그대로 담아두는것도 위험한가요?

klara의 이미지

'로컬어플리케이션'이란 말이 맞는진 모르겠습니다만, 웹어플이 아니란 뜻에서 로컬이란 말을 썼습니다.
한마디로 그냥 보통 쓰는 프로그램입니다;

여기서 shutdown같은 루트권한이 필요한 명령어를 실행하기 위해서, 사용자로부터 암호를 입력받아야 하는데요...

암호를 텍스트파일에 저장하거나하는 건 위험하다고 하는데요, 메모리상의 변수에 담아두기만 하는 것도 위험할까요?

메모리상에서만 존재하니까 strings같은 걸로 바이너리 뒤진다고 나오지도 않을 테고, 웹어플도 아니니까 해킹프로그램이라도 깔려 있지 않는한 입력받은 암호를 중간에 다른데서 가로챌수도 없을테니 괜찮을 것 같은데, 혹시나해서 질문드립니다.

만약 이것도 위험하다면, 처음부터 프로그램을 루트권한으로 실행시킬수밖에 없는건가요...? 아니면 뭔가 다른 방법이 있을까요?

cinsk의 이미지

klara의 이미지

답변감사합니다. 한번 pam에 대해 알아보아야겠네요.

cleansugar의 이미지

악의적인 서버 소유자의 접근을 막으려면 씨피유와는 독립된 외장 암호프로세서가 필요합니다.

스마트카드, PDA, 휴대폰, PMP, MP3P 등으로 구현할 수 있습니다.

스마트카드 회사에서 SDK도 같이 파니까 그걸로 만드시면 됩니다.

윗분 말씀처럼 네트워크로 외부 인증서버에 연결하는 방법도 있습니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

klara의 이미지

그렇게 대단한건 아니구요-_-; 그냥 데스크탑에서 쓰는 어플입니다;
답변감사합니다.

cleansugar의 이미지

저도 로컬이나 웹프로그램의 경우에는 사람들이 암호를 어떻게 저장하고 있는지 많이 궁금했습니다.

더 좋은 방법이 없는지 잘 아시는 분 답변을 기다려봅니다.

다음은 참고 글입니다.

메모리해킹에 대한 오해와 진실

https://www.dt.co.kr/contents.htm?article_no=2007090702010151713002

이중 보안인증

http://en.wikipedia.org/wiki/Two-factor_authentication

그리고 클립보드에 담긴 내용을 크래킹하기는 더 쉽다고 합니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

klara의 이미지

DB나 파일로만 안넣어두면 괜찮겠지라고 생각했는데 메모리상에 올라가 있는 동안도 위험하군요. 답변감사합니다.

절차탁마의 이미지

암호가 "abcd"일때 이걸 그대로
string에 가지고 있으면 좀 위험합니다.

"abcd"의 암호화된 결과 "efgh"를
가지고 있고, 나중에 입력된 값을
계산해서 결과를 "efgh"와 비교하는게 났습니다.
*NIX password가 이런식으로 합니다.

근데 이것도 "efgh"가 보이기 때문에 그리 좋은건
아니라고 알고 있습니다.

cleansugar의 이미지

네, 이게 PAM에서 MD5, SHA1 등으로 암호화하는 원리입니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

klara의 이미지

PAM을 이용하도록 수정해봐야겠습니다.
답변감사합니다.

c0d3h4ck의 이미지

오독 하고 잘못 썼다가 자삭 했습니다 ^^

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.