Our last visit to Greenland

2014-11-18 16.14.312014-11-18 12.14.12

2014-11-14 00.11.16DSC_0097 (2)DSC_0087 (12)Ruth and Michael Haephrati in Greenland1 DSC_0218 Ruth and Michael Haephrati in Greenland Ruth and Michael Haephrati in Greenland Ruth and Michael Haephrati in Greenland Ruth and Michael Haephrati in Greenland Ruth and Michael Haephrati in Greenland Ruth and Michael Haephrati in Greenland Ruth and Michael Haephrati in Greenland DSC_0177 DSC_0176 DSC_0175 DSC_0174 DSC_0173 DSC_0172 DSC_0170 DSC_0165 DSC_0160 DSC_0159 DSC_0158 DSC_0156 DSC_0155 DSC_0154 DSC_0152 DSC_0150 DSC_0148 DSC_0144 DSC_0138 DSC_0134 DSC_0129 DSC_0128 DSC_0124 DSC_0123 DSC_0122 DSC_0116 DSC_0106 DSC_0098 DSC_0128 (2) DSC_0117 (2) DSC_0114 (2) DSC_0113 (2) DSC_0111 (2) DSC_0110 (2) DSC_0107 (2) DSC_0106 (2) DSC_0103 (2) DSC_0012 (3) DSC_0174 (2) DSC_0172 (2) DSC_0171 (2) DSC_0166 (2) DSC_0164 (2) DSC_0135 (2) DSC_0133 (2) DSC_0132 (2)

DSC_0070 (2)DSC_0124 (2)

Advertisements

מדוע מאגר לשכת עורכי הדין פרוץ לכל

מאת: מיכאל האפרתי

ספר עורכי הדין

אתר לשכת עורכי הדין כולל את “ספר עורכי הדין”, מאגר המכיל את פרטיהם של כל עורכי הדין בישראל החברים בלשכה, ומאפשר ביצוע חיפושים לפי תחומי התמחות או שם.

אם לדוגמה, אחפש את עורכי הדין ששם משפחתם “לוי”, חלון החיפוש ייראה כך:

ולאחר לחיצה על “חיפוש” תופיע ההודעה הבאה:

גולש/ת יקר/ה,

“ספר עורכי הדין” (להלן: “המאגר”) אליו הינך נכנס/ת, הוא רכושה הבלעדי של הלשכה ומיועד לשימוש פרטי בלבד.

מבלי לגרוע מאיזה מתנאי השימוש באתר זה, באשרך הודעה זו הינך מתחייב/ת שלא לעשות כל שימוש אחר במאגר או בכל חלק ממנו.

לחיצה על “אשר” מהווה אישור המשתמש לאמור בהודעה.

או אז מופיעות תוצאות החיפוש.

ניתן להכנס לכל תוצאה ותוצאה ולראות את פרטיו המלאים של עורך הדין, פרטים הכוללים: שם, כתובת, ת.ד., טלפון, נייד, פקס וכתובת דוא”ל.

כדי להגן את מאגר כזה ולמנוע שליפתו והפצתו, ישנן מספר שיטות אשר עשויות להגן על המידע ברמה סבירה ועד רמה גבוהה, הכל תלוי בשאלה עד כמה רגיש המידע.

בבואי לבדוק עד כמה מוגן המידע, השאלה הראשונה שתישאל היא האם ניתן להגיע למידע שאליו הגענו בעקבות השאילתה, וההסכמה לתנאי השימוש, שלא בדרך הרגילה, וללא לחיצה על “אשר” בחלון תנאי השימוש, אלא ישירות.

התשובה היא לצערי – כן.

כתובת הדף אליו הגענו בסופו של דבר היא: http://www.israelbar.org.il/lawyer_list_inner.asp?id=16214

מה שאומר שאם נכניס מספר כלשהו אחרי ה”id” נוכל להגיע לכל עורך דין ועורך דין.

בדיקה העלתה שהרשומות מתחילות ממספר 2, ורצות עד כ-40,000.

כיצד למנוע: נותנים לכל דף ודף כתובת שלא ניתנת לחיזוי עם מרכיב אקראי שאין בינו כל קשר לתוצאה.

זו רמת ההגנה הנמוכה ביותר. מכאן אפשר לעלות ולמנוע כניסה לדף תוצאה למי שלא נרשם או אישר את הסכמתו, ואז גם אם הגעתם לתוצאת חיפוש (לאחר שאישרתם את הסכמתם) ונתתם את כתובת דף התוצאה לחבר, אותו חבר לא יוכל להכנס סתם כך לדף זה, אלא יצטרך ללכת בצינורות המקובלים: לבצע שאילתה, לאשר את הסכמתו לתנאים ורק אז יופיע הדף.

ברמות הגנה גבוהות יותר, לאחר דקה או שתיים בהן בהיתם בפרטי עורך הדין, ה-session יסתיים ותצטרכו להכנס מחדש למערכת.

הגבלת שאילתות

ישנו כיוון נוסף שיש לתת עליו את הדעת. גם אם ננקוט בכל אמצעי אבטחת המידע האפשריים, עדיין יכול משתמש רשום, להכנס, לאשר את הסכמתו לתנאים, לבצע שאילתה ולשמור אצלו את תוצאותיה, להפיץ תוצאות אלה ולעשות בהן שימוש שונה מזה שהתיר בעל מאגר המידע. כדי למנוע זאת, נהוג להגביל את השאילתות בכמה אופנים:

  1. מספר התוצאות ששאילתה יכולה להניב
  2. מידע מינימלי שחייב להיות חלק משאילתה

על מנת להסביר, נניח שמישהו רוצה לשים ידו על מאגר מידע. הוא יכול לבצע חיפוש של כל עורכי הדין שמתגוררים בתל אביב, ואז לעבור לחיפה וכך לכל ישוב במדינת ישראל. הוא יכול לחפש את עורכי הדין ששם משפחתם מתחיל ב”א”, וכך לעבור על כל אות בא”ב.

במאגרי מידע שמנגנון השאילתות שלהם אינו מוגן כלל, ניתן לבצע “שאילתה פתוחה”. בשדה החיפוש פשוט לא רושמים דבר, ולוחצים על “חפש”. על פי רוב, תופיע הודעת שגיאה, שנועדה להגביל את השימוש במאגר, אולם בספר עורכי הדין, אין זה המצב.

שאילתה פתוחה (או ריקה), פשוט תציג את כל עורכי הדין ברשימה. התוצאות הן על פני 50 עמודים, ואני מניח שכאן יושמה הגבלה על מספר התוצאות. אם בדף מוצגות 20 תוצאות, זה אומר ששאילתה פתוחה תוביל ל1000 תוצאות.

לא על כל מאגר מידע צריך להגן

לא כל מאגר מידע צריך להיות מוגן. אם אתר קיבוץ לוחמי הגיטאות מפרסם את אלפון החברים בו, ניתן לאפשר לא רק שאילתות פתוחות אלא הורדה של המאגר כולו בפורמט אקסל. אני מניח שאם לשכת עורכי הדין אינה מציעה הורדה של מאגר עורכי הדין כולו, ומגבילה את תוצאות החיפוש ל-50 דפים, שלא לדבר על הסכמת המשתמש הנדרשת לפני כל חיפוש, זה לא המקרה, ולכן מוטב לנקוט באמצעי אבטחת מידע מינימליים על מנת למנוע את התסריט הדמיוני הבא…

אודות bhavin189

bhavin189 (שם בדוי) הוא מתכנת הודי מהעיר Surat שבהודו, המציע את שירותיו באתרים רבים, לרבות עצות בYouTube כיצד לבצע טריק כזה או אחר.  bhavin189  אינו האקר, ומעולם לא פרץ לאתר כלשהו. הוא מתמחה בתחומים הבאים:

Form-fillers – SERPS – Adwords automation – Spiders – Crawlers – Extractors  – Google automation – Account-creators – Bots – Craigslist tools – twitter tools – SEO tools – social networking tools – facebook, orkut, bebo etc.
C#, VB.Net, VB6, VC++, MSXML, SQL, and VBScript.
PHP, javascript, HTML, XML, MySQL, SQLLite
Win32 APIs, Windows hooking, Localization, i18n, and multi-lingual solutions.

bhavin189 התבקש (באותו תסריט דמיוני) לבצע פרויקט במסגרתו יישלף המאגר. לא נדרש כאן האקר (ואין צורך או סיבה לפרוץ לאתר), שכן המידע חשוף וגלוי לכל. צריך רק לקחת. bhavin189  התבקש לפתח תוכנה בvb.net אשר תרוץ על כל הדפים האפשריים החל מhttp://www.israelbar.org.il/lawyer_list_inner.asp?id=2  ועד http://www.israelbar.org.il/lawyer_list_inner.asp?id=40000 . הוא פיתח את התוכנה בשעתיים, זאת מבלי שהוא מבין מילה אחת בעברית. הרצת התוכנה ארכה כיומיים, והניבה קובץ csv.

במהלך ההתייעצות שקדמה לפרוייקט, היה צריך לסמן בגוף כל דף את השדות השונים (בעברית) ולהפריד בין שדות שמופיעים מחוברים (למשל: להפריד שם משפחה משם פרטי).

 תהליך הייבוא לאקסל הוא פשוט מאד ומתבצע בעזרת כלי היבוא של התוכנה, בה ניתן לבחור את קידוד הטקסט המיובא (בדרך כלל הקידוד הנכון מופיע אוטומטית), ואת אופן ההפרדה בין שדות שונים. נהוג להפריד שדות או באמצעות תו מפריד (ל
משל פסיק), או על ידי קביעת רוחב קבוע לכל עמודה ועמודה.

מזמין העבודה יכל לייבא לתוכנת אקסל או לבסיס נתונים אקסס בתהליך ייבוא פשוט.

ואז לקבל מאגר מידע מנותק מהאתר ממנו הוא הגיע:

לבסוף נותרה בעיה קטנה: שמות המכילים מרכאות (“) שיבשו את הייבוא, ומאחר ואני פרפקציוניסט היה לי חשוב לוודא שגם לבעיה זו יש פתרון, ואכן הפתרון נמצא: יצירת קובץ בו כל שדה מופרד בתו “טאב” (tab) במקום מופרד בפסיקים…

וכך נפתרו כל הבעיות, ואין לי ספק שבדרך הזו ניתן היה לשלוף את מאגר עורכי הדין כולו, ואתר זה הנו רק דוגמה לאתרים רבים ולמאגרי מידע רבים שפרוצים לכל ומוטב לתת את הדעת לכך ולנקוט באמצעים סבירים על מנת למנוע זאת.

 

כאן המקום לומר שאין במאמר זה כל התייחסות לפריצה לאתרים (או כלי ושיטות פריצה), וכל התהליך שתואר כאן מבוסס על גלישה לדפי אינטרנט בדרך הרגילה, וכן ביצוע אוטומציה של גלישה רגילה באמצעות תוכנת “רובוט” אשר נכנסת לכל דף ודף ברשימה ארוכה של דפים כאילו הייתה גולש פשוט.

במילים אחרות: שליפת מאגרי מידע בדרך זו משולה לאדם שפותח את ספר הטלפונים ועובר דף דף, ומעתיק את תוכנו לקובץ.

אם אותו אדם יפיץ את הקובץ שיצר, ייתכן ויפר את זכויות היוצרים של המאגר, אולם פעולת השליפה עצמה, חוקית כמו עלעול ועיון בספר טלפונים…. אולם במחשבה שנייה … אם תרצו לחפש עורך דין על מנת להתייעץ איתו בנושא, לפחות תדעו באיזה מאגר לאתר אותו…

עדכון 5.7.2012

בעקבות ההתראות שלי והמאמר שלי בנושא, לשכת עורכי הדין החלה בתיקון הפירצה ולשמחתי, כרגע לא ניתן להגיע לדף של תצוגת רשומה בודדת, אלא רק לדפדף בדף התוצאות, אז מוצגים פרטים חלקיים יותר ללא טלפון נייד וכתובת מייל. השלב הבא צריך להיות להחזיר את התצוגה הפרטנית, אולם למקם אותה תחת שם דף שאינו ניתן לחיזוי מראש (כתובת בעלת מרכיב אקראי) וכך תתוקן הפירצה.

 


לצורך הכנת הכתבה בוצעה התייעצות עם מתכנת מהודו, נכתבה תוכנה קטנה ונשלפו כ-100 רשומות ויובאו לתוכנת אקסל, אולם די בכך כדי להוות (POC (Proof of concept של הבעיה. 

מיכאל האפרתי

* לקריאה נוספת על טיוב נתונים, אני ממליץ על מאמר של ברוך עינב (מהתקופה בה היה מנהל מערכות המידע של אנשים ומחשבים) אודות תוכנת DataTune פרי פיתוחי (2001-2003)

כתבה על תוכנת DataTune

קוד המקור של תוכנת טרגט איי (מאמר באנגלית)

Introduction

Auto Update mechanism doesn’t have to be based on the actual version number (kept in the Version String), but can also base on the Last Modified Date Stamp of the newer version compared to the old one. Target Eye Monitoring System, developed starting of 2000, had such mechanism.

Background

Target Eye Monitoring System, which I have developed 12 years ago, was one of the first surveillance and monitoring tools for capturing activity of remote computers. The following description is taken from the original Business Plan of this venture:
Target Eye Monitogin System 
Target Eye is a start-up company whose mission is to develop integrated software solutions for real-time monitoring of
remote PCs, which are based on the company’s patent pending technologies (60/204,084 and 60/203,832). Our major product, Target Eye Monitoring System, is a software product that can continuously track, record, playback, analyze
and report any activity performed on one or multiple remote PCs, in a way which is undetectable by their users. The software relies on a stream of rapidly captured, compressed full-screen images and continuous keystroke capturing to
provide a comprehensive and accurate account of user activities, including local activities which do not generate any network traffic. In this way, the software can track and record activities, which are undetectable by systems
relying on network traffic analysis. A smart agent module running on the monitored PCs uses a rule base to send alerts to the monitoring location(s) or perform pre-defined local operations. Monitoring can be performed from multiple
locations. Major markets are law-enforcement.
Target Eye Monitoring System was developed with an auto update mechanism. This mechanism allows smooth and silent (un-attendant) execution of the new version instead of the current one.
An historical image: The first version of Target Eye (Apr 2000) 
A more recent version (Target Eye 2007) 
This article focuses only in one aspect of this product, which is the Auto Update mechanism.
Creating and Marking Incremental Versions In order to be able to determine a newer version over the current one, there must be a mechanism to mark the various versions, to increment the version number, and to examine the version of a given executable.
The most common way of doing so is using the “Version String” resource, and to use a prebuild automated tool to promote this string each time the application is built.
I used another method which is based on the list modification date of the executable file. This method has its pros and cons, but can be useful for most cases, since it will allow your end users to get any version of your application that
was built after the one that is currently installed.
Before I explain, it is important to mention 2 global variables which are used to build at start:
strRegularLocation
The location and full path of the
application when it runs normally (i.e. c:\program files\your app name\your
app.exe),
and…
strTemporaryLocation
Another full path to be used for the
temporary version downloaded when there is an update.
The reason for doing so it because since the
application downloads it’s new version, the new version can’t be downloaded to
its current location, and can’t replace itself because while a file is used (or
an application is running) the file is locked and can’t be moved, deleted or
renamed.
char strRegularLocation[256];
char strTemporaryLocation[256];
Filling
strRegularLocation and strTemporaryLocation with real values
strRegularLocation
is taken simply from __argv[0], provided that we are sure that we aren’t
running already from the temporary location. We ensure that by using a
parameter named “INSTALL” which will be explained later.
strTemporaryLocaiton
is built using a common folder and a temporary name combined. We use
GetSpecialFolder() to find the path name of this folder in any computer running
the application.
Getting
the date stamp of current version
To
do so, TEGetVersion(), the first building block, is used and returns a CString containing the last modification date of a given file.

//

TEGetVersion returns the last modification date / time of a given file

CString TEGetVersion (CString FileName)  {

Time1; if( CFile::Ge

CFileStatus status1; CTime tStatus( FileName, status1) ) {

return (Time1.Format(“%d%m%M%S”)

Time1 = status1.m_mtime;  ); }  // Failed  return ((CString)””); }

//

When my application starts, I store the date / time stamp of it somewhere.
TE_Options.Version=TEGetVersion((CString)__argv[0]);
// here we keep the date/time stamp of the current version
Now we need to get the date / time stamp of the file online, preferably, without having to download it first, so we only download when we need to update to a newer version.
HINTERNET FileHandle=NULL;
ND_DATA ftpFileData;  //find

WIN32_F Ithe file on the ftp server

ndle, FTP_NEWVERSION, &ftpFileData, INTERNET_FLAG_RELOAD, 0 ); if( NULL

FileHandle= FtpFindFirstFile( m_ftpH a!= FileHandle ) { // get the write time of the ftp file

FileTimeToSystemTime( &ftpFileData.ftL

SYSTEMTIME ftpFileWriteTime, stUTC1; FILETIME ftp; astWriteTime, &stUTC1 ); SystemTimeToTzSpecificLocalTime( NULL, &stUTC1, &ftpFileWriteTime );

}

We need to define how old should be the current
version in order to update it. Again, this approach can be very useful in some
cases and less useful in other. For example, if your application involves a
database, you might be interested to ensure that the database is always most
recent and never older than 3 days.
#define UPDATEEVERY 60*24*7 // 7 days
#define APP_EXE_NAME “TargetEyeTest.exe”

#define FTP_NEWVERSION “NewVersion.exe”

\”

#define APP_REGULAR_FOLDER “\\TargetEye \

The next step is to compare the date / time
stamp of each file.
CFileStatus

statusOld;

ld; if( CFile:

CTime Time

O:GetStatus( FileHandle, statusOld ) )

{ CTime ct,OldTime;

d.m_mtime; hFindFile.GetLastWr

OldTime=statusO liteTime(ct); LONG Diff;

Y %H:%M %Z”); oldver=OldTime.FormatGmt

ver=ct.FormatGmt(“%d %m %(“%d %m %Y %H:%M %Z”);

-OldTime)).GetTotalMinutes(); hFindFile.Close();

Diff = ((CTimeSpan)(c tif (Diff>UPDATEEVERY || resultSpecific) {

// download the newer version }

}

Downloading the new version

Downloading the newer version is performed using TE_DownladLoad() which is listed here. We make several attempts in case there is a temporary block or communication problem.
#define FTPRETRIES 5 // number of retries
BOOL TE_DownloadLoad(char *FtpFileName,char *LocalFileName)

{ int DoTry=FTPRETRIES;  int result;

t = MyConnection

TryAgain:;  try  { resu l.m_FtpConn->GetFile(FtpFileName, LocalFileName, FALSE); }

4];  pEx->GetErrorMessage(sz

catch (CInternetException* pEx) { TCHAR sz[10 2,1024); WriteToLog(“Error %s\n”, sz);

6 – TE_Load”,MB_OK); pEx->Delete();  } if (!resul

if(TE_DEBUG) MessageBox(NULL,sz,”Error t) { if(DoTry– >0) goto TryAgain; return(FALSE); } else {

return (TRUE); }

}

Now we are ready to switch between the currently running version (the
old one) with the newer one.

Executing the newer version

BOOL ExecuteNewVersion(char *ExeName,char *Param)

{ STARTUPINFO sinfo;

pinfo; ZeroMemory(&sinfo, s

PROCESS_INFORMATION izeof(sinfo)); sinfo.cb = sizeof(sinfo);

info.dwFlags=STARTF_USESHOWWINDOW ;

sinfo.lpDesktop= “WinSta0\\Default”; ssinfo.wShowWindow=SW_SHOW;

(char*)(LPCTSTR)((CString)(ExeName)+(CString)” “+(CString)(Param)

if(!CreateProcess(NULL ,), NULL, NULL,FALSE,NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE, NULL, NULL, &sinfo, &pinfo))

);

{ char s[256]; sprintf(s,”Can’t execute program: %s params %s”,ExeName,Para m // ERROR LOG TELog.LogError(“Execute New Version”,s,0); return FALSE; }

else { return TRUE; }

}

So if we put all the code together we get:
CFileStatus statusOld;

CTime TimeOld;

atus( FileHandle, statusOld ) ) { CTime c

if(CFile::GetS tt,OldTime; OldTime=statusOld.m_mtime;

NG Diff; ver=ct.FormatGmt(“%d %

hFindFile.GetLastWriteTime(ct); L Om %Y %H:%M %Z”); oldver=OldTime.FormatGmt(“%d %m %Y %H:%M %Z”);

e.Close(); if (Diff>UPDATEEVERY || resultSp

Diff = ((CTimeSpan)(ct-OldTime)).GetTotalMinutes(); hFindFi lecific) { // downloading the newer version

MPPLACE)) { // We have successfully downloade

if(TE_DownLoad((resultGeneric)?NEWEXESTR:NEWEXE,T Ed the newer version if(ExecuteNewVersion(TEMPPLACE,”INSTALL”)) {

rent version can now quit }

// We have successfully executed the // newer version. Cu r else // Failed to execute new version } else {

TELog.LogError(“New Ftp version found”,”Can’t download”,0); } }

}

The TE_Init() function

TE_Init() is used to determine the parameters
used when application was executed (Unlike the full version of Target Eye
Monitoring System, which is much more complex, in our example, there is one
optional parameter – “INSTALL”).
if(__argc>1)

{

if(strcmp(__argv[1],”INSTALL”)==0)

{

// TE_FirstTime(); -> here you can place code you wish to

//be executed only during the first run  } } else

xists at the tem

// No parameters { // Delete a temporary version if eporary location

}

Replacing old with new

In order to quit in a normal fashion, without missing anything we wish
to do before quitting, the main even loop contains a check for the value of
NeedToQuit, which would normally be FALSE.
BOOL NeedToQuit=FALSE;
When NeedToQuit becomes TRUE, the application will perform any routine
required before quitting (for example, saving unsaved work). For example:
if(NeedToQuit)

{

if(TE_DEBUG)
MessageBox(NULL,”Terminating Targe Eye”,

“Target Eye Monitoring System”,NULL);

return FALSE;

}

Further, the application expects to be executed either with the
“INSTALL” parameter as part of the command line, or without it. The
following scheme illustrates the flow of an installation of a newer version to
a temporary location (the Desktop folder, in our example), up to the moment the
temporary file used for it is deleted. This requires several stages:
The Target Eye Cycle
Stage
Ran
with Parameter
Ran
from location
Description
1
None
Regular
The
current (old) version is running before the newer version is available
2
The
newer version checks if there is a temporary copy of itself at the temporary
location, but there isn’t any
3
A
newer version is found
4
Newer
version is downloaded to a temporary location
5
Newer
version runs from the temporary location with the “INSTALL”
parameter.
6
Current
version quits
7
INSTALL
Temporary
The
newer application ran from the temporary location copies itself to the
regular location, replacing the old version which quitted (5)
8
The
newer version runs the copy located in the regular location and quits.
9
None
Regular
The
newer version checks if there is a temporary copy of itself at the temporary
location, and deletes it.

Choosing an FTP server for this demo

In order to use the source code that attached to this article, there are
predefined settings of a public Secured FTP server available to the public by Chilkat Software, Inc.
The details of this server are:
Secure FTP Server
Details
Type FileZilla
Address ftp.secureftp-test.com
Login Test
Password Test
There is a file there named hamlet.xml which can be used for testing a
remote file date stamp.

Internationalization

To comply with scenarios in which there
are users worldwide, and yet we wish to release a version to be available at
the same moment to all of them regardless of their local time, we use
FormatGmt
GMT is an absolute time reference and doesn’t
change regardless of the season or the location. FormatGmt is used like that:
CTime t( 1999, 3, 19, 22, 15, 0 );

// 10:15 PM March 19, 1999

%B %d, %Y” ); ATLASSERT( s == “Friday, M

CString s = t.Format( “%A,

arch 19, 1999″ );

Limiting to a single instance

The mechanism described in this article can only work if we limit our application to run only once at any given moment.
To do so, several methods can be used, such as CreateMutex().
Target Eye Monitoring System uses a different and a bit “brutal” approach, which will be explain in details over another article. Basically, Target Eye Monitoring System searches
for other instances currently running in memory, and when found, does one of the two following options:
  1. If the instance found is newer, the current running instance quits.
  2. If the instance found is older, the current running instance kills it.
To explain, let’s consider the following
scenario. An end user had his current copy of software updated to a newer one.
A day after, this end user runs the original CD of the software. The version
that resides on the original CD, will search for new updates at the FTP server,
which is unnecessary. Further, if the application runs constantly (like a
monitoring application should), then probably when the CD version is ran, there
is also another newer version already running. To address such scenario and other
scenarios, we should take the necessary measures to ensure that an application
will always be up to date.

משלוח סמסים ללא תלות בספק סלולר

התחרות בענף הסלולר, אשר תפסה תאוצה בשבוע האחרון לאחר כניסת שתי שחקניות חדשות לשוק: גולן טלקום והוט מובייל, מהווה אמתלה טובה להביא סקירה קצרה של הטכנולוגיה שמאחורי הסלולר, ובמקרה זה, משלוח הודעות SMS.נניח שאתם רוצים להציע מוצר או שירות אשר כולל במסגרתו גם משלוח הודעות SMS. ההודעות עשויות להיות מקומיות (בארץ בלבד), או בינלאומיות (מכל מדינה לכל מדינה).

חברה בריטית ותיקה בשם CardBoardFish, מציעה תשתית טכנולוגית כזו, המקיפה את רוב מדינות העולם, ותעריף משלוח SMS בישראל (לצורך הדוגמה) יעלה כמחצית האגורה.

החברה מספקת תשתית אשר מנתבת את ההודעות על פני רוב חברות הסלולר בעולם כולו.

הדרך לצרוך שירות כזה הוא באמצעות התממשקות. זה יכול להיות אתר אינטרנט שמציע שירות הכולל משלוח SMS, או תוכנה (Desktop Applition), כאשר הדרכים להתממשק למערכת הנן:

  1. המרת מייל לסמס. שיטת Mail2SMS.
  2. פנייה לשרת HTTP באמצעות פקודת GET.
הטכנולוגיות הנתמכות על ידי החברה הן:
SMPP 3.3 ו-3.4
CIMD2
OIS
שפות התכנות הנתמכות כוללות: Soap, XML, Java, Visual Basic, PHP ו-Pearl.
שפת ++C אינה נתמכת ישירות. פניתי לחברה וקיבלתי תשובה שאין להם תמיכה או דוגמאות קוד לשפה זו, שכנראה הולכת ונעלמת מן העולם. למרות זאת, כתבתי בעצמי תוכנה קטנה שעושה שימוש בשפה זו ובMFC אשר שולחת SMS לכל יעד בארץ ובעולם, ואף נידבתי את קוד התוכנה (עכשיו יש להם תמיכה ב++C … ).
התוכנה נראית כך:
והקסם מאחוריה הוא בהתממשקות שנעשית באופן הבא:
כל משתמש (כולל משתמש Trial כמו במקרה שלי), מקבל שם משתמש וסיסמה אשר הופכים לחלק מקוד התוכנה.
התוכנה שלי עושה שימוש בClass קוד פתוח בשם WinHTTPClient אשר חיבר תוכניתן סיני בשם Sheng Chi.
כתבתי רוטינה בשם SendSMS אשר משמשת ה”מנוע” של התוכנה.
כפי שתראו יש צורך לקבוע פרמטר בשם DC עם ערך “4” ולקדד את ההודעה כHexadecimal, זאת על מנת שתתמוך בתווים בעברית (ובשפות נוספות), ולצורך כך כתבתי פונקציה נוספת בשם ConvertHex:
שם השולח יכול להיות מספר טלפון, או שם (באותיות לטיניות בלבד, וללא רווחים).
כתובת הנמען כוללת קידומת מדינה, ומספר טלפון (ללא ה”0″ בהתחלה).
והעלות, כאמור, חינם לתקופת נסיון ולאחר מכן 0.006 יורו (כ-2 אגורות) להודעה.
יש גם גרסת אייפון

גירסת האייפון עושה בדיוק את אותו הדבר. מאפשרת משלוח סמסים מתוך האייפון, אולם מבלי להשתמש בשירותי חברת הסלולר. למעשה גם אייפון אשר אינו מחובר לספק כלשהו, כל עוד הוא מחובר לאינטרנט, ישלח סמסים.

אפשר גם וגם

לפני מספר חודשים נחשפה פעילות ה”האקר הסעודי” והיקפה, אשר התבטאה בין השאר בגנבת פרטי אזרחים ישראלים לרבות מספרי כרטיסי אשראי שלהם ומספרי תעודות זהות, וכן פרטי חשבונות מייל ואינטרנט שונים שהם מחזיקים (שם משתמש וסיסמה). פעילות ההאקר הסעודי וחבורתו לא נפסקה וניתן לקרוא עליה ולהתעדכן בבלוג הבא.

אחד הכשלים שנחשפים מהפרשה נוגע לעובדה שפרטי מידע רגישים כגון מספרי כרטיסי אשראי ותעודות זהות, נשמרים על ידי אתרים רבים, ויש בכך פירצה הקוראת לגנב.

ביום ראשון האחרון הודיע משרד המשפטים כי הוא בכוונתו לאסור על אתרי אינטרנט לאסוף מספרי זהות של משתמשים ללא הצדקה ממשית. משמעות הדבר היא שאתרים יעברו להשתמש במספר לקוח שהם ייצרו לכל לקוח ולקוח. מספר הלקוח ישמש כמזהה חד ערכי לכל אחד מלקוחות האתר באופן שיאפשר להבדיל בין לקוחות הנושאים, לדוגמה, את אותו שם, וכך משה כהן מתל אביב הנושא מספר לקוח X יזוהה כלקוח שונה ממשה כהן מתל אביב הנושא מספר לקוח Y.

יש לתת את הדעת לכך שאופרטיבית אין דרך טובה יותר ממספר תעודת הזהות לזהות משתמש או לקוח. מספר הזהות מלווה כל אזרח בכל מקום ובכל חנות או אתר, בעוד שלפי השינוי המוצע, כל אדם יצטרך להחזיק במספר רב של “מספרי לקוח”, לכל אתר ואתר. לעומת זאת אם היו כל אתרי ה e-commerse מתאגדים ומנפיקים מספר לקוח אחיד, אזי הבעיה של מספרי הזהות הייתה צצה מחדש שכן האקרים היו מתלבשים על מספר הלקוח הגלובאלי בהיותו מספר בעל ערך ומשמעות כמעט זהה לזו של מספר הזהות…

הפתרון המוצע

ניתן לפתור את הבעיה בדרך הבאה. באמצעות מנגנון של Hashing באמצעות הצפנה בכיוון אחד (One Way Function ), שבאמצעותו בצד של משתמש הקצה, מספר הזהות ימשיך להיות אמצעי הזיהוי באתרים, אולם בצד של האתר, ויותר חשוב, בדטה בייס שלו, יישמר נתון אחר שהוא תולדה של פונקציית הHashing .

המייחד תהליכים אלה, בהם הופך נתון אחד לנתון אחר באמצעות פונקציות ההמרה האלה הוא שמדובר בתהליך חד כיווני. לא ניתן באמצעים סבירים ונגישים להמיר בחזרה את הנתון שיתקבל ממספר הזהות וישמר בדטה בייס, חזרה למספר הזהות, ומכאן שמספר הזהות יוגן, לא יוחזק בשום מקום, ועם זאת, ישמש במזהה חד ערכי.

בשבועות האחרונים פרסם האקר המוכר בשם עומאר (“ההאקר הסעודי”) פרטים אישיים של גולשים ישראלים, שנגנבו בפריצות לאתרי אינטרנט מקומיים. אלו כללו שמות, כתובות מייל, מספרי כרטיסי אשראי ובפרט מספרי תעודות זהות. כמו כן נערכו בתקופה האחרונה דיונים בוועדת המדע והטכנולוגיה של הכנסת, לאור תלונות שהתקבלו על איסוף גורף של מספרי תעודות זהות מצד עסקים שונים.

כיצד יתבצע זיהוי של לקוח חוזר

כאשר לקוח יקליד את מספר הזהות שלו, מספר הזהות יומר לHash  שלו. המערכת תחפש נתון זה בדטה בייס ובמידה ונתון זה נמצא, יזוהה הלקוח כלקוח חוזר וניתן יהיה לשלוף את נתוניו שנשמרו (ואשר כמובן לא יכללו מספר זהות).

האם הHash לא יהפוך למזהה הייחודי החדש?

לא. משום שניתן להפיק מזהים אלה בדרכים רבות ותוך שקלול פרמטרים רבים. כל עוד משתמשים באלגוריתם ופרמרטים זהים בכל פעם שמקלידים מספר זהות באתר מסוים, השיטה תעבוד. פרמטרים ייחודיים יכולים להיות שם האתר, כתובתו, וכל פרט נוסף שניתן לבקש מהלקוח כאמצעי אבטחת מידע. לדוגמה: 4 ספרות אחרונות של כרטיס האשראי. או פרמטרים ייחודיים לאתר עצמו (למשל תאריך פרסום הפוסט הראשון באתר, קרי: משהו שרירותי ועם זאת קבוע), כך גם שליפת Hash מדטה בייס אחד לא תועיל במאום מול דטה בייס אחר, וללא ידיעת האלגוריתם והפרמטרים שנלקחים בחשבון.

ומה קורה למספר תעודת הזהות בכל התהליך

מספר תעודת הזהות משמש ככרטיס הכניסה, אולם משול הדבר לאדם שמציג תעודת זהות בכניסה לבניין, ולאחר שהוא מזוהה, תעודת הזהות מוחזרת לו ופרטיה אינם נשמרים. כך גם בתהליך זה. מספר הזהות נדרש לצורך האימות / רישום אולם הוא נזרק ולא נשמר.

מיכאל האפרתי חושף את החפרפרת

עדכון:

החפרפרת פתחה בלוג חדש לדיווחים היומיומיים שלה: בלוג החפרפרת

 

זה זמן מה שבפוסטים שאני מפרסם מופיעה דמות מסתורית, שמה “החפרפרת” או Perfect Beat. נכתב עליה שהתמקמה (באמצעות פרוקסי, כמובן) במקום טוב בתוך רשת חבריו של ההאקר הסעודי 0xOmar, וכך הגיע לידיה מידע שיועד לחברים בלבד. היא התריעה ומצד שני שמרה על אנונימיות על מנת שהכיסוי שלה כחברה באותה רשת סגורה לא יחשף. מאז נסגר האתר של 0xOmar, ורוב המידע בנוגע לפריצות אתרים מתפרסם ממילא בערוצים פתוחים כגון אתר PasteBin ו-PasteBay (שאגב, היא גם נאבקת על סגירתם…).

היום ה”חפרפרת” נחשפת לראשונה.

ככה היא גומלת…

Perfect Beat היא מיכל. זה הבלוג שלה. היא מקדישה אותו למוסיקה, תרבות, יוגה, התעמלות וכל נושא רוחני או תרבותי אחר, והנה מאז הופעת תופעת ההאקר הסעודי, הפך הבלוג לנושא הדגל במלחמה נגד 0xOmar וחבורתו, ובהגנה על קורבנותיו באשר הם, וכיום השריד היחיד לאופיו של הבלוג המקורי הנו סגנון הכתיבה המיוחד של מיכל, והשילוב של לינק, כדרך קבע, לאיזה קטע מוסיקאלי לשיבוב הנפש, גם בקטעים שמוקדשים לפריצה כזו או אחרת, תקראו לזה אתנחתא תרבותית

וכך כותבת על עצמה Perfect Beat:

כשאתה מחביא את מעלותיך, ומעמעם את צבעיך,
הירח שבי שולח את מעלתו, ומעניק גוון.
כשהשמש שבך מקבלת, והירח שבי מטפח,
נקטר נשמתך הזהוב זוהר.
ככה אני גומלת.

סוכנות מודיעין של אדם אחד

מיכל בוודאי לא דמיינה שתהפוך לסוכנות מודיעין של אדם אחד, עת תקדיש זמן כה רב לשילוב של איתור ההודעות על הפריצות וההפלות בדסק המודיעין הפרטי שלה, ומשלוח הודעות לבעלי האתרים בארץ וגם בחו”ל.

רק הערב שלחה התרעה לנמל התעופה הבינלאומי בפראג, על פריצה לאתר, ובד בבד היא מעבירה עשרות התרעות בשבוע ובחלק גדול מהמקרים מקבלת תגובות אוהדות ואסירות תודה, וגם… הצעות עבודה, אותן (לידיעת המעסיק הנוכחי) היא דוחה בנימוס. בחלק קטן מהמקרים, היא מקבלת תגובות מתנשאות, ממנהלי אבטחת המידע של אתר כזה או אחר, שמעדיפים להדוף את המאמצים הכנים והבלתי נלאים של בחורה אחת, ואולי כך להגן וקצת לטייח את מחדליהם שלהם.

אז הגיע הזמן לחשוף אותה ולתת לה את ההכרה והתודה שמגיעים לה.

אבל אולי לפני כן, כדאי להזכר…

סרט רע

הפוסט של מיכל מה-12.1.2012 הופך לבעל נופך היסטורי משהו כשקוראים אותו היום:

לא זוכרת אם זה היה ביום רביעי, או חמישי שעבר,

הקיצר, באותו יום היה מזג אוויר… (חחח – גדולים אסי וגורי ותודה לצבי -זה אני- על הלינק ליוטיוב שריסק אותי מצחוק)

שווחחתי עם 012 אודות DOMAIN שהעברנו אליהם מנטוויזן ואודות תיבות מייל ליוזרים שנזקקתי לפתוח,

הנציגה שלהם שאלה אותי: “מה לא שמעת על האקר שפירסם את כרטיסי האשראי של ישראלים?”

שו???? ,עניתי, לא לא שמעתי.

אמרה “סרט רע” ויעצה לי להתקשר מהר לברר אם גם אני ברשימה.

אצלי במשרד אמרו לי שכבר פרסמו הודעת הרגעה שהכל בשליטה, אבל בכל זאת התקשרתי ומחברת האשראי נעניתי שלא. מזלי!!! 🙂

כשהגעתי הביתה התחלתי לחפור קצת יותר (סוקרנתי מאוד).

מה פרסם? אופו פירסם???

אז מי היא ה”חפרפרת”?

מיכל, תושבת אזור המרכז, אינה אשת מחשבים או אבטחת מידע, אולם מהתרשמות אישית שלי, מתגלה מיכל כאוטודידקטית בעלת כישורי למידה מדהימים השולטת ברזי המרחב הקיברנטי כלוליין בקרקס, ואשר מושגים טכניים מהז’אנר שגורים בפיה, והיא לומדת ולומדת בקצב כמעט לא אנושי. הדבר המדהים מכל הוא שהיא עושה זאת בהתנדבות וכמעט מסביב לשעון. היא דיווחה על פריצות במהלך סופי השבוע האחרונים, ובשעות הלילה אם היה צריך. היא חוקרת כל תופעה והופכת אותה לפני ולפנים, תוך שהיא משרטטת את מחשבותיה עד כי כאילו הקורא שומע אותה חושבת בקול רם.

ריבונו של האינטרנט

אם לחזור לרגע להתחלה, את אותו פוסט היסטורי היא סיימה במילים:

ריבונו של האינטרנט!!!

הכי מטורף שהמשתמשים האלה מהרשימה  שנתנו באתרים מייל, נתנו את אותה סיסמה שהם נכנסים לתיבה הז ואולי אף משתמשים באותה סיסמה לכל השימושים שלהם.

ברשימה מצאתי אדם שאני מכירה אישית, הייטקיסט שכותב אפליקציות בחברה בה הוא עובד,

וכמה הופתעתי שאפילו הוא נתן את המייל שלו ואת אותה הסיסמא של תיבת המייל שלו. הזו. הזוי.

אנשים בחיי, בכל אתר שאתם פותחים חשבון ואתם מתבקשים לתת את המייל שלכם,

אל, פשוט בשום פנים ואופן לא, אל תשתמשו באותה סיסמה שאתם משתמשים בתיבה הפרטית הזו.

ריבונו של האינטרנט!!!

כל כך הרגיז אותי לראות מה האקר הזה פירסם והקלות הבלתי נתפסת של ההפצה,

אז מהר כתבתי לשרתים שהיו עדיין פעילים בקשה שיסירו את הלינקים.

ואכן גם מפיילסוניק הסירו וגם מוואפלוד.

אז איך הכל החל

תפקיד ה”חפרפרת” הוענק לה כאשר חדרה לפורום סגור של חברים רשומים באתר של 0xOmar, שבינתיים הופל. כדי להירשם לאתר, נרשמה לכתובת מייל בgaza.net וממנה פעלה. האתר היה חסום לכתובת IP מישראל, ומיכל דאגה לגלוש דרך פרוקסי ותוך שימוש בכתובת IP ממדינה אחרת.

מידע רב ערך שהשיגה, חלקו לפחות, לא פורסם בפורומים פתוחים לכל, או פורומים שאינם חסומים לישראלים, וכך תודות למידע שהעבירה לי, פרסמתי על הפריצה המתוכננת לאתר הבורסה ואתר אל על.

מעבר להערכה הרבה שרוחשים לה, פיתחה מיכל במהלך השבועות האחרונים את סגנונה המיוחד, אשר בא לידי ביטוי לא רק בהודעות שהיא שולחת לבעלי האתרים, אלא בבלוג האישי שלה בקפה דה מרקר. בדומה למבקר תיאטרון (או מבקר מסעדות) חד לשון, כך גם סגנונה המיוחד של מיכל, ודוגמאות לא חסרות:

יוסטון, הצילו יוסטון!!!

 

איפה מגדל הפיקוח איפה

יא אלללללה.

הכל התחיל אתמול בערך ב 4 וחצי, פתאום הקפה התנתק ולא ניתן היה להתחבר לשרת.. היתה לי תחושה מוזרה.

שעה מאוחר יותר, כשהייתי כבר בבית ראיתי שפרצו לאסותא ולשיבא, לדן  ולהארץ. הופה…. התחילה התקפה.

התחלתי לבדוק ואז המצררים הגיעו….אאוץ

אוקסמר פרץ לאתר http://area.co.il וגנב משם פרטים של 170000 חשבונות משתמשים. אאוצ.

מסתבר שהאתר שייך לאושייה באינטרנט שאני לא מכירה אלי שביט, שברשותו מספר אתרים ולרובם אוקסמר פרץ והשחית.

כמובן שמיד התרעתי לבעל האתר.

הפעם ניסיתי להגדיל ראש. לא מספיק מסתבר להתריע בפני בעל האתר. צריך לחפש את השרת שמארח. HOST

דרך ה IP שהותקף הבנתי שבעצם האקרים מצאו פירצה אצל ה HOST ROOT ומשם זולגים לאתרים שמתארחים תחתיו.

אאוצ רציני. מה קורה יוסטון???????

ככה ישבתי עד 3 בבוקר, מתריעה במיילים לכל מי שנפגע, ומחפשת את הסרבר הגבוה באיררכיה.

לחלק זה עבד במיידי והם תקנו את האתר. חלק הסירו את העמוד הזדוני אך עדיין לא הצליחו לשחזר את האתר

ולאתרים אחרים פרצו כדי לגנוב מידע…אאוץ

אתרים שהושחתו ועדיין לא תוקנו:

http://ransys.com/

http://www.royal-angora.com/

http://rikikud.co.il/

http://www.iridology-clinic.co.il/page/%D7%93%D7%A3_%D7%94%D7%91%D7%99%D7%AA.aspx

http://www.ttv.co.il/template/default.aspx?pn6Vq=E&2ntrVq

http://www.gordon.ac.il/index.html

 http://phone4usa.ru/files/

אתרים שהושחתו וחזרו לתפקד:

http://area.co.il/index.php?page=contact

http://50-live.com/

http://harsuf.co.il/

http://gabishaked.co.il/

http://studio-makingof.com/

http://www.holmesplace.com/default.aspx?PageId=1

http://www.che.org.il/news/new.aspx?NewId=124

http://www.irmi.co.il/

אתרים שהשחתו, עמוד של האקר התוקף הוסר, אך האתר לא שוחזר:

http://www.zimrat.com/nowar.html

http://www.zimrat.com/index.html

http://www.watershows.co.il/Cms/

http://www.kibush.co.il/ash.htm

http://www.berger-sisters.co.il/index.html

http://byon-it.com/index.html

http://www.watershows.co.il/Cms/

http://www.cognit.co.il/assets/index.html

http://www.antiquette.net/assets/index.html

מעניין הוא שרוב השרתים שנפרצו הם של LINUX

והיתר הם SERVER 2003

2008 לא ראיתי…. מעניין.

בנוסף האקרים פרצו לבנק פידליטי בגאנה ומידע זלג – שלחתי התראות

כמן כן פרצו לחברת יהלומים באנגולה וגנבו מידע- שלחתי התראות

וחניבעל – האקר הישראלי פרץ למוסדות ממשלה אירניים ושיחרר משם מידע לרשת.

עדיין מיצררים נורים בקצב…הזירה בוערת אין ספק.

הרסו לי את ה WWW

עצוב לי.

מי שמכיר באמת מוחות שיכולים למצוא פתרונות למצב ההזוי הזה תפנו אליו בבקשה לקרוא את הפוסטים האלו.

תודה.

חפרפרת? MOI?

במהלך האירועים האחרונים שפקדו אותנו, באחד הפוסטים שלה, התייחסה לתפקיד שנפל עליה בן לילה, ה”חפרפרת”, ובין השאר כתבה:

חפרפרת??? MOI …???? כוחות האור נגד כוחות האופל

איזה באזזז של סופ”ש… כמה שסער בחוץ, ככה סער בזירת האינטרנט הרוחשת.

הסקרנות המשיכה להניע אותי. 

מדהים כמה הרוע ברשת מבעבע…

והיא מסיימת במילים:

כל מי שגילה שכרטיס האשראי שלו ברשימה פשוט חייב להחליף סיסמא חייב חייב חייב!!!

אחת החברות שהזהירה, החזירה לה במכתב תודה ולא רק… כך כתב בעל האתר:

מיכל , שיחקת אותה בגדול !!!

קראתי עלייך ואכן צופה שתגיעי רחוק .

יש לך את כל הכלים בעולם .

במידה ועיסקית את פנוייה להצעות…”

וכאן באה הצעת עבודה, וזה אומר הכל, שכן בלי תארים מפוצצים או רזומה ארוך, מיכל עושה את מה שכל בעל חברה צריך – אדם שנותן את הנשמה.

פעילת ה-Greenpeace של המרחב הקיברנטי

למי שקורא את מיכל (זהירות! ממכר!), מתגלה עולם עמוק כמו אוקיינוס, ועשיר לא פחות, של ביטויים ומטבעות לשון, פרי מוחה הקודח, אשר נתחמים בתוך מה שנראה כמו ז’אנר חדש, אשר זר שיגיע לביקור בעולמה (כמו גם הזבוב שעל הקיר), יידרש למילון מונחים או לקסיקון, שייראה מן הסתם כך (לפי סדר אלפביתי, כמובן):

אווצ – רוצה לומר: ואללה – זה לא היה במקום!
אווצ רציני – כמו אווצ אבל בדרגה גבוהה יותר.
בעעע – פעיה של כאב / תדהמה / אכזבה שלא ניתן לבטא במילים של בני אדם. לדוגמה: “בעעעעעעעעעעעע אסון!!!!
הופה – במילים אחרות: יפה! שיחת אותה!
וואו – ההתרגשות רק גוברת… משהו הולך לקרות (טוב? רע? אין לדעת)…
טושה – במילים אחרות: אז הנה, החזרת לי! יופי לך!
יא אללללללללה –  ביטוי שמקבל נופך מיוחד כשהוא נאמר על 0xomar, אבל לא רק.
יוסטון… – המשפט המפורסם של טום הנקס בסרט אפולו 13, מקבל אצל מיכל משמעויות חדשות, כמו “יוסטון אפשר להרגיע… “.
פאי פאי פאי – קריאת שמחה והתרגשות. לדוגמה: “פאי פאי פאי- הSUPER8 & TAB בTLV” או “פאי כסילה שכמותי…“.
פששששש כבוד – קריאת הערכה וכבוד.
ריבונו של האינטרנט – אמירה מתבקשת לאור הענקת זכות הקיום לWWW כיקום בפני עצמו שככזה יש לו בורא עולם רחום וחנון.
רמת הכוננות ירדה – במילים אחרות: חברים, הגיע הרגע דיווח מהמטה. יהיה טוב!
שו? – או בלשון העם WTF ? מתאים לסיטואציה בה מיכל מגלה process לא מוכר, הגדרות שלא עושות שכל, או כל תופעה אל טבעית אחרת (וזה מביא אותי לחשוב שאולי הגיע הזמן לעשות סדרה תואמת ל”תיקים באפילה” אבל על האינטרנט…)
שיאו – ביטוי תדהמה שמלווה בתוספת. לדוגמה: שיאו, חלסטרה חלסטרה חלסטרה….
MOI – רוצה לומר: “מי אני?”, רק במבטא צרפתי קוויבקי…
WWW – מיכל רואה עצמה (ודי בצדק, תסכימו) אזרחית הWWW אשר עושה את מה שהיא עושה כדי לשמור על טוהרו ויופיו של הWWW שכמוהו כמחצב נדיר, שמיכל שומרת פן יכחד מעולמנו, משל הייתה פעילת גרינפיס של המרחב הקיברנטי.

“מיקי גורדוס” של ההאקר הסעודי

היא אינה מחפשת פרסום. היא אינה מחפשת הכרה. היא בוודאי שלא עושה זאת עבור תשלום. מיכל עושה זאת משום שהיא אינה יכולה לעמוד מנגד ולא לעשות דבר. השאלה, מה מניע אותה, נראית לה לא במקום, שכן לתפיסתה, איך יכול אדם, ישראלי, תושב כדור הארץ, לקרוא על אתר שהופל או שמתוכננת נגדו מתקפה, ולא להזהיר את בעליו, ובמידה רבה, הפכה מיכל, למיקי גורדוס של ההאקר הסעודי, והיא העיניים והאוזניים של כולנו, שומעת ראשונה, יודעת לפני כולנו, ומדווחת. ופוסט זה נועד לומר לה תודה!

עדכון:

החפרפרת פתחה בלוג חדש לדיווחים היומיומיים שלה: בלוג החפרפרת

פרצה קוראת להאקר

מתקפות האקרים הם עניין שבשגרה ורובן לא מתפרסמות. מעטים המקרים בהם זכתה מתקפה כזו להד תקשורתי, כמו במקרה של ההאקר הסעודי. מזה זמן אני מנסה להתחקות אחרי התופעה, עוד מאותו יום בו נחרדנו לגלות ש”מאות אלפי מספרי כרטיסי אשראי נגנבו”

מהר מאוד התברר שמדובר באלפים בודדים, אולם אלפים נוספים המשיכו להתפרסם חדשות לבקרים, ובד בבד בוצעו מתקפות נגד אתרים שונים בישראל. מי שזכה לכינוי ההאקר הסעודי, 0xomar, הוא אדם שעד היום לא זוהה בוודאות. ישנה קבוצה של האקרים שהוא נמנה עליהם ואולי הוא אחד מהם. הקבוצה כוללת פעילים ממקסיקו, אינדונזיה, סעודיה ואף מהרשות הפלסטינית.
עם תחילת הפרשה פנו כלי התקשורת אל אותו האקר דרך כתובת מייל ששימשה אותו – 0xomar@mail.ru על מנת לראיין אותו, וכך גם ההאקר עצמו העביר מסרים והודעות לתקשורת דרך כתובת זו. כאשר התחלתי לחקור את התופעה, נודע לי שבינו לבין חברי הקבוצה מתקיימת תקשורת בערוצים אחרים ונוספים, ביניהם כתובת Hotmail. סגרתי לו את כתובת המייל הרוסית על מנת לגרום לו נזק היכן שניתן היה לגרום לו נזק באותה עת, אך מבלי לנתק ערוצי תקשורת אחרים, שלא לפגוע במאמצים לאתרו. לכתובת הספציפית הזו הייתה משמעות סימבולית בהיותה זו בה הכריז על עצמו לראשונה. במידה רבה, לאחר סגירת כתובת זו, גם אני ומומחים אחרים ידענו באיזה כתובות מייל נוספות הוא משתמש ובאיזה ערוצים הוא מעביר מסרים ומידע גנוב.

מבין הפלטפורמות ששימשו אותו להעברת מסרים היו האתרים http://www.pastebay.com ו- http://www.pastebin.com שנועדו לשימוש אחר לגמרי. אתרים אלו הם “איזור פתוח”, שאליו כל אחד מעתיק כל טקסט שהוא רוצה ומצד שני כל אחד יכול להעתיק ממנו כל טקסט שכבר קיים. הכלים פותחו על בסיס הסכמה ג’נטלמנית שמתכנת אחד לא יגנוב קוד ממתכנת אחר, למרות שברוב המקרים לא נעשה שימוש בהצפנה. ההאקר וקבוצתו הפכו פלטפורמות אלה למגרש המשחקים שלהם וניצלו את הקלות להעלאת תכנים, מבלי צורך להירשם ולהזדהות.

בחודש האחרון פרסמה הקבוצה פרטי חשבונות של משתמשים, מספרי כרטיסי אשראי ומידע אישי רב של אנשים. במהלך המחקר שערכתי, פיתחתי תוכנה שכל תפקידה הוא לאתר תכנים הכוללים מידע שחשוד כגנוב, כגון מספרי כרטיסי אשראי, והיא משמשת אותי להתריע מפני פריצות מתוכננות. בדיקה מעמיקה העלתה שאת התקשורת הממודרת יותר, מקיימת הקבוצה באמצעות פורום סגור המיועד לחברים שנרשמו אליו והרשמתם אושרה. במהלך ההתחקות אחרי הפרסומים, שלחתי אזהרות ככל שניתן ולכל מי שצריך. התרעתי למשל על שתי פריצות מתוכננות: לשרתי אל על, והשנייה, לבורסה בתל אביב. לצערי לא נעשה דבר והשרתים נפרצו.

לאן פנינו מועדות

המצב מדאיג ועם זאת, חשוב לחזור ולומר שאין כאן איזו פעולת האקינג מתוחכמת. נהפוך הוא: זו אינה יותר מ”פרצה קוראת לגנב”. גניבה היא החלק השולי, ואילו פרצת האבטחה היא הבעיה המרכזית. ניתן, באמצעים סבירים ובהשקעה נמוכה, להעניק את מינימום אבטחת המידע המתבקשת לכל אתר ועל ידי כך למנוע מקרים כאלה בעתיד. ההאקר הסעודי ייתפס בסופו של דבר. אולם, אם לא ייעשה שינוי בתקינה מתאימה – דרישות מחמירות בכל הקשור לאחסון מאגרי מידע מכל סוג שהוא, ובתוך כך שמירת מספרי כרטיסי אשראי והדרכה מתאימה לדרך הנכונה לעשות זאת – יבוא בעתיד הקרוב “האקר סעודי” חדש.

הכותב הינו איש הייטק, מומחה אבטחת מידע ומייסד חברת Target Eye LTD, בלונדון.
בלוג: haephrati.com

 

 

פורסם במגאזין עלונדון 3.12.2012.

למה אני נגד מתקפת התגובה של ההאקרים הישראלים נגד אזרחים

בימים האחרונים אנו שומעים על האקרים ישראלים או פרו ישראלים שתוקפים חזרה מטרות כגון אזרחים סעודים, אתרי אינטרנט ערביים, או מפרסמים פרטי חשבונות וכרטיסי אשראי של סעודים או ערבים. אני מצידי, פעלתי בתחילת הפרשה וסגרתי להאקר את החשבון.

בחלק מהמתקפות, צורף גם מסר בנוסח: “תראו איך אתם עכשיו אוכלים אותה בגלל האח שלכם 0xOmar…”.

בשמיעה (או קריאה) ראשונה, זה עושה הרגשה טובה ותחושה שהנה, אנחנו משיבים מלחמה לנבלות האלה ושפעם הבאה לא יתעסקו איתנו. גם אני חייכתי מתחת לשפם (שאין לי) כששמעתי על כך… ועם זאת, אני סבור שזו טעות לפעול בדרך הזו ושזה לא יוביל לשום מקום.

ברמה החוקית, למי שלא יודע, ביצוע עבירת מחשב בישראל כנגד אדם או יעד במדינה אחרת, כולל מדינה ערבית, הנו עבירה על החוק הישראלי. שנית, רוב הקורבנות (אם לא כל הקורבנות) של מתקפות מסוג זה אינם אשמים ואינם תומכים באותה קבוצת האקרים.

אם מישהו מאותם האקרים ישראלים איתר נקודתית חבר בקבוצת ההאקרים ויכול לגרום למחשב האישי שלו להעלות עשן ושכל תכולת הדיסק שלו תימחק, אז בבקשה, ועל אותו משקל, שאפו למי שהפיל את האתר של 0xOmar, אבל ככל שמדובר בטרור נגד חפים מפשע, הרי שלתפיסתי, טרור נגד אזרחים (סעודים) אינו תגובה הולמת או ראויה לטרור נגד אזרחים (ישראלים). לא זו הדרך.

הדבר משול להפגזת מטרות אזרחיות ואזרחים חפים מפשע, בתגובה לפיגוע חבלני בישראל. יש אנשים שתומכים בסוג תגובה כזה. אני לא נמנה עליהם. במידה לא מועטה, תגובה כזו רק מחלישה אותנו ולא מחזקת. היא מטשטשת ומסיטה את הפוקוס מעוצמת מעשיו המזעזעים של 0xOmar וקבוצת ההאקרים, וכך הופכת את השבת המלחמה הצודקת שעלינו לנהל נגדם לסוג של  “קרב כנופיות רחוב” בה זה תוקף את זה וזה תוקף חזרה.

ישנם אלה שמצדיקים פעולה מסוג זה כל עוד מדובר באזרחים של מדינת אויב אולם אני סבור שלא זה הקריטריון. מה פשע אזרח סעודי שפרטי כרטיס האשראי שלו נגנבו ופורסמו וכלל אין לו קשר להאקינג, ואולי בכלל אינו מבין במחשבים?

חבר ששאלתי אותו על כך ענה שהלב נמצא עם מי שתוקף בחזרה, ומעלה בכך במעט את המורל הלאומי (אם כי בדרך ילדותית משהו, ותוך כדי “ירידה לרמתם”) ועם זאת, חוק הוא חוק גם אם אינו חכם (שכן מדובר כאן במדינות אויב). טוב, אני מאלה שחלמו (ותמיד יחלמו) על היום שבו ישרור שלום באיזורינו ואפשר יהיה לקחת את האוטו לנסיעה לאירופה דרך טורקיה…

התגובה למתקפת קבוצת ההאקרים צריכה להיות ממוקדת, זאת לצד השקעה בהקשחת ההגנה, כמו למשל קביעת דרישות סף לאתרי אינטרנט השומרים פרטים אישיים, וגם אלה שקולטים פרטים אישיים גם אם אינם שומרים פרטים אלה (למשל אתרים שמאפשרים תשלום בכרטיס אשראי דרך צד שלישי כגון Pay Pal).

לקריאה נוספת: איך הזהרתי מהפריצות לאלעל ולבורסה וגם מעללי ההאקר הסעודי.

גל של פריצות. הזהרתי! אז הזהרתי…

זה זמן לא מועט שאני מנסה להתחקות אחרי התופעה שכונתה “ההאקר הסעודי” ולמעשה מדובר בקבוצה הכוללת את : מוחמד, עומד חביב (שכפי שפורסם הוא אכן ממקסיקו, ובמקור: איחוד האמירויות), מוחמד האינדונזי, איברהים (סעודיה), מוחמד מסעודיה, עבדאללה (סעודיה) ואדם נוסף מהרשת הפלסטינאית שהגעתי אליו בדרך לא דרך ושמו רעיד.

אתמול שלחתי התרעות לכל העולם ואחותו על שתי פריצות מתוכננות. האחת לשרתי אל-על והשניה לבורסה בתל אביב.

פניתי לאנשים באל על אותם הכרתי מקשרי עבודה מהעבר. פניתי למשטרת ישראל. צייצתי בטוויטר. מה לא.

לא ממש עזר לי…

היום אני מבקש להתריע שלפי ה”חפרפרת”, היעד הבא הוא בנק בשם Alfabank.

בנוסף, עומדת להתבצע התקפה על אתר בשם Witza.net על מנת להגיע לבסיס נתונים באתר זה. הם מזכירים אדם בשם Jesse Labrocco המכונה Omniscient.

גם הפעם הועברו הודעות לנוגעים בדבר.

מיכאל האפרתי

haephrati@gmail.com

(תודה לחפרפרת Perfect Beat על המידע)

 

מעללי ההאקר הסעודי בסוף השבוע האחרון

ההאקר הסעודי והקבוצה המזוהה איתו צוברים תאוצה. הערב (14.1.2012) הופיע פרסום לא מאומת לפיו האקר בשם Omar Habib נעצר, אולם 0xOmar חי וקיים בפורומים הסגורים של הקבוצה שלו. מדאיג לגלות שקבוצת אנונימוס הודיעה על הצטרפותה להאקר הסעודי. הערב אף פרסם רשימה רביעית של מספרי כרטיסי אשראי:

רשימה רביעית של כרטיסי אשראי

האם Omar Habib = 0xOmar ?

למרות הפרסומים הלא מאומתים על מעצרו של אדם בשם Omar Habib, הרי ש0xOmar מופיע online זמן רב לאחר הפרסום השנוי במחלוקת (הזמנים, לפי שעון השרת שהוא שעה קדימה משעון ישראל).

בשבוע האחרון הועלו לאתרי התכנים PasteBin ו-PasteBay אשר במקור מיועדים למפתחי תוכנה, קבצים עם מידע על פרטי כרטיסי אשראי, פרטי כניסה לחשבונות שונים, לרבות אוניברסיטאות, אתרי שידוכים וגם אתרים בעלי זיקה לאומית / בטחונית.

אין מדובר בהאקר אחד אלא בקבוצה, שבימים האחרונים מצטרפים לה חברים נוספים, אוהדים ומעריצים. הקבוצה כוללת האקרים ממרוקו ותוניס, דרום צרפת, מדינות המפרץ הפרסי, מצרים ומדינות נוספות. כך למשל, ההאקר LulzOps אשר מפרסם רשימות משלו של חשבונות מייל וסיסמאות שנפרצו על ידו.

מחדל אבטחה באוניברסיטת בר אילן

אני רוצה להתעכב על מקרה שאני רואה בו מחדל אבטחה חמור, ולעניות דעתי מיותר – ומיד אסביר. באחד הפוסטים (שכמובן לא אחשוף כאן), פרסמה הקבוצה סקריפט לביצוע SQL Injection לאתר של אוניברסיטת בר אילן. הפעלת הסקריפט שולפת שמות משתמש וסיסמאות של סגל האוניברסיטה.

כדי להמחיש אציג את הקוד הבא, בPHP, שחלק מפרטיו מוסווים ב”*” (כדי לא לגרום לאף אחד לגרום נזק…), והוא מתייחס לאתר פיקטיבי בשם blablabla.co.il.

הוראות פריצה מדוייקות לאוניברסיטת בר אילן

SQL Injection –

ניתן היה למנוע אותו באמצעות קידוד נכון של האתר ומתן הרשאות מינימליות למשתמש הקצה

כאן המקום להסביר עד כמה פשוט למנוע פריצה זו. ישנן הנחיות ברורות שאם מקפידים למלא אותן, ניתן בוודאות למנוע פריצה מסוג זה. מדובר בפריצה בה במסגרת קלט של האתר (לדוגמה: הקלדת שם משתמש, מילוי טופס, פניה דרך האתר וכד’), מכניסים במקום זאת קוד זדוני. ההאקר פרסם לינק שהוא למעשה קוד כזה. בדקתי את הלינק והפעלתו מביאה כאמור להצגה של פרטים חסויים של משתמשים וסיסמאות. מיד שלחתי הודעה לאוניברסיטה.

כדי למנוע זאת, ראשית, בכל מקום שמאפשר קלט מהמשתמש, יש לבצע וולידציה של הקלט. אם נוקטים באבטחת מידע מחמירה, אוסרים על קלט שאינו אחת מאותיות הא”ב, לרבות סימנים מיוחדים (מה שאומר שלא ניתן להשתמש בסימנים כגון: “%” או “$” וכו’). בנוסף מגדירים את האורך ואת סוג המשתנה שמבקשים מהמשתמש להקליד. לדוגמה: אם מדובר בשאלון שבו המשתמש מכניס את שנת הלידה שלו, להגביל את השדה ל-4 תווים מספריים, ועוד כיו”ב. במקרה שלפנינו, יש להגדיר את מבנה שמות המשתמש והסיסמה (אורך, תווים אסורים וכד’), ולאכוף הגבלות אלה. בנוסף, כל פריט מידע צריך להיות מאוכסן במשתנה, והגישה לדטה בייס ככל שהיא מתבצעת כפועל יוצא של קלט ממשתמש הקצה צריכה להיעשות בהרשאות הנמוכות ביותר שמאפשרות את המינימום ההכרחי. זה כמובן על קצה המזלג.

פרטי חשבונות וססמאות כניסה למשתמשי אוניברסיטת בר אילן

בינתיים: ממשיכים להתפרסם פרטי כרטיסי אשראי וחשבונות של ישראלים

לאור גל הפרסום של פרטי כרטיסי אשראי של ישראלים, קיים צורך לא רק לטפל בתופעה ובמקור שלה אלא גם להודיע מהר ככל האפשר לחברות האשראי ולמשתמשים. ניתן לשייך כל מספר כרטיס אשראי למנפיק שלו. הדבר נעשה על ידי תרגום 6 הספרות הראשונות של מספר כרטיס אשראי למנפיק שלו. הדבר נעשה באמצעות Bin Database.

בדרך זו ניתן לדעת אם מספר כרטיס אשראי משויך לחברה ישראלית ולפנות אליה עם הפרטים.

תוכנה קטנה שפיתחתי

פיתחתי תוכנה קטנה שמסוגלת לאתר פרסומים כאלה תוך סריקת כתובות נפוצות בלוגיקה מסויימת, והענקת דירוג לכל תוכן ושקלול מילות מפתח שנפוצות בהגיגיו של 0xOmar וכמובן חיפוש אחרי “4580” ו”5326″ (הספרות הראשונות של מספרי כרטיסי אשראי ישראלים). התוכנה סורקת עשרות דפים בשניה והעלתה תכנים רבים של ההאקר, וגם הרבה פניות נואשות (“0Xmar, בבקשה! תן לי כרטיס אשראי!).

אין כניסה לישראלים

כרגע עוברת הפעילות לאתר ש0xOmar הקים. הוא פרסם את כתובת האתר וכתב:

“Israeli people, sorry, you cannot access my site”

מדובר באתר שמפרסם קבצי ענק עם פרטי כרטיסי אשראי של ישראלים (ולא רק, יש גם פרטים של הולנדים ושל תושבי מדינות נוספות שהקבוצה הציבה לעצמה כיעד להציק להם). בעקבות חשיפת המידע, הוא נצרב והועבר ידי ה”חפרפרת” PERFECT BEAT (ומיד אסביר…), למשטרת ישראל ולגורמים הנוספים שפרטיהם נגנבו. האתר ככל הנראה נפל (או הופל…).

החפרפרת Perfect Beat

כדי להגיע אל המידע נפתח חשבון פיקטיבי, מכתובת IP זרה (דרך פרוקסי), ואצל ספק שירות חינמי במדינה ערבית, תחת שם שבואו נאמר שהוא נפוץ שם. דרך חשבון מייל זה בוצעה ההתחברות לקבוצה. מי יודע, אולי 0xOmar יחפש עכשיו את הבוגד בקרב חבריו ותתבצע עריפת ראשים…

כך נראה האתר, כפי שנמסר לי על ידי PERFECT BEAT:

האתר - אין כניסה לישראלים

כתובת הIP של האתר מובילה לחברה בשם:

Network Operations Center
100 Pinehurst Ct
Missoula, MT
US
support@sharktech.net
+1-312-275-7678

ודרך בחינת רישומי הDNS וטווח כתובות הIP שהקבוצה משתמשת בה, הובילה לחברה נוספת בשם:

VIPAR

8300 E Maplewood Ave.
Suite 400
Greenwood Village, CO
USA

האתר שלו כבר מאונדקס בגוגל:

בתמונה הבאה ניתן לראות רשימה של חברי הקבוצה, בעוד ש0xOmar מופיע כAdministrator:

החברים על 0xOmar

בירור שערכתי העלה כי מדובר באתר של האקרים העושה שימוש בשירות בשם Army Proxy המציע כלי להענקת אנונימיות מלאה לאתרים ולגולשים. השירות הנו הסתרת כתובת IP והענקת אנונימיות לגולש. מן הסתם 0xOmar וחבורתו מפרים את תנאי השימוש בשירות זה.

בעודי כותב שורות אלה בוצעה מתקפה מסוג = Distributed Denial of Service או בקיצור (DDoS ) על Bank of America ודיווחתי עליה כאן (וגם כמובן לIC3 עליהם כתבתי כבר בפוסט אחר הנוגע לעוקץ הניגרי). המתקפה בוצעה על ידי אחד ה”brothers” שלו, וזה מדאיג מאד. בכלל קיים מידע רב (למשל מספרי כרטיסי אשראי של חשבונות בארה”ב) ש0xOmar והקבוצה שלו מעלים באתר הבא (בשפה הערבית). בעקבות בדיקה שערכתי, הגעתי לדף פייסבוק של הקבוצה. ומי עומד מאחורי דף זה? Raed Abu Maraq , תושב הרשות העובד במשרד הבריאות הפלסטינאי ולמד כאן

בתוך כך פרסם האקר ישראלי המכונה עומר כהן, ואימץ לעצמו את הכינוי 0xOmer, פרטי כרטיסי אשראי סעודיים. (אולי גם כאן ה-Bin Database יכול לאמת שאלה באמת מספרי כרטיסים מסעודיה…)

מילה אחרונה על השעה המופיעה באתר: הזמן המקומי של האתר משקף, לדעתי, את העובדה שההאקר 0xOmar אינו תושב מקסיקו אלא תושב סעודיה ומכאן הזמן המקומי שנצפה – שעה אחרינו.

לסיכום

המצב מדאיג ועם זאת, חשוב לחזור ולומר שאין כאן איזו פעולת האקינג מתוחכמת. נהפוך הוא: זו אינה יותר מפרצה קוראת לגנב. הגניבה היא החלק השולי, ואילו פרצת האבטחה הנה הבעיה המרכזית. ניתן באמצעים סבירים ובהשקעה נמוכה להעניק את מינימום אבטחת המידע המתבקש לכל אתר ואתר, ועל ידי כך למנוע מקרים כאלה בעתיד.

ההאקר הסעודי ייתפס בסופו של דבר, אולם אם לא ייעשה כאן שינוי שיחל בתקינה מתאימה, דרישות מחמירות בכל הקשור לאכסון מאגרי מידע מכל סוג שהוא, ובתוך כך שמירת מספרי כרטיסי אשראי והדרכה מתאימה לדרך הנכונה לעשות זאת – יבוא בעתיד הקרוב “האקר סעודי” חדש.

תודה לחפרפרת- Perfect Beat

מיכאל האפרתי haephrati@gmail.com