«Қазақстан ғылымының дамуы мен келешегі жастар көзімен»



Pdf көрінісі
бет16/40
Дата22.12.2016
өлшемі5,89 Mb.
#32
1   ...   12   13   14   15   16   17   18   19   ...   40

 
Жүзеге асыру 
 Бұл жобаны жүзеге асыру үшін CorrectingMachine класын құрамыз. Бұл класс екі public train 
және correct тәсілінен тұрады. Бірінші тәсілде тексерілетін енгізілген мәтінді бастапқы мәтіннен 
қарайды. Екінші тәсіл қате енгізілген мәтінді түзету үшін бастапқы мәтіннен тікелей үміткерлер 
іздейді.  
 
 
 
 
 
 
 
 
   
  Қарапайым мысал:     
 
 
 
 
 
 
               
CorrectingMachine  cm=new  CorrectingMachine();cm.train(“Туған  ауыл,  сен  үшін  тер  төкпедім, 
Кешір мені, кеш  мені  -сен  Текті  елім! Бір сағыныш  мазалап саған  деген,  Жүреді ылғи жанымды 
өртеп менің. Туған  ауыл.  Бәрі  есте...  Балалық  шақ,  Қалаға  кеп қаңғырдық  қалам  ұстап. Кешір 
мені күнәсіз балалығым, Қала алмадым ауылда саған ұқсап.”);      

ArrayList 
corrections 

cm.correct(“
ен
”);           
System.out.println(corrections);                                                                                                               
Мысалдағы      дұрыс  жазылмаған    «ен»  сөзін    алдындағы  бес  сөйлемді  негізге  ала  отырып 
үміткерлер  іздейді. Егер енгізген сөз  базада жоқ болса онда программа үміткерлер шығармайды. 
Мысалы қазіргі жағдайда  «мен» сөзіннен  «м» әріпін жіберуден қате жіберген болсақ, онда бізге 
программа мынандай «мен» , «сен» үміткерлерін қайтарады. 
 
Бірінші бөлім: мәтінді өңдеу 
Біздің программамыз базадан қолданылған сөздерді алу үшін, сөйлемді сөздерге бөлеміз тек 
бұған сандар мен символдар кірмейді. Бұл үшін мәтінді тыныс белгілеріне (яғни бос орын, үтір, 
нүкте)  қарап  бөлетін  StringTokenizer    класын  қолданамыз.  Сандар  мен    символдардан  тұранын 
сөзді  шығарып  тастау  үшін  Regular  Expressions-ды  қолданамыз.  Программада  Boolean  мән 
қайтаратын  aripter()  тәсілі  бар.  Бұл  тәсіл  сөздің  тек  әріптен  тұратынын  не  тұрмайтыннын 
тексереді, егер  aripter() true мәнін қайтарса бұл сөзді кездесетін сөздер қатарына қосады.    
 private void parseWords(String text) { 
        text = text.toLowerCase(); 
        StringTokenizer stt = new StringTokenizer(text); 
        while (stt.hasMoreTokens()) { 
            String word = stt.nextToken(); 
            char ch; 
            boolean bar=false; 
            for (int i = 0; i < word.length(); i++) { 
                ch = word.charAt(i); 
                if (bar==aripter(ch)) break; 
            } 
            words.add(word);      
}    
   
 

Келесі қадам: әр сөздің неше рет кездесетінін санау. Бұл үшін кіліт ретінде сөзді ал мәні 
ретінде сөздің қанша рет кездесетін санды сақтайтын HashMap құрамыз                       
     
for (int i=0;iif (!nwords.containsKey(words.get(i))){ 
int s = Collections.frequency(words, words.get(i)); 
nwords.put(words.get(i), s); 


Осымен бірінші бөлім аяқталды, енді үлкен бір кітапты программамызға оқуға беруге 
болады. 
 
Екінші бөлім: мәтінді тексеру 
 
Біріншіден бұл қатар базада бар ма жоқ па соны тексереміз 
 
 
 
 
 
 
if (words.contains(sword)){ 
candidates.add(sword); 
return candidates; 
}
 
Келесі кезеңде біз енгізілгеннен бір символға  айырмашылығы бар қатарды табуымыз керек.    
Енгізілген  мәтіннен бір символдың қалып кетуінен туған қатарды табамыз.(жету - жту )  
 
 
for (int i=0;i

String del = a.substring(0,i)+a.substring(i+1); 
deletes.add(del); 
        } 
Қатар келген символдардың орын ауысуынан туған қатарлар (жарқырау- жарқрыау)  
 
ArrayList transposes = new ArrayList(); 
for (int i=0;iString transpose = 
a.substring(0,i)+(char)a.charAt(i+1)+(char)a.charAt(i)+a.substring(i+2); 
transposes.add(transpose); 
}  
Әріптердің  ауысып кетіп пайда болған қатар (Мысалы: және-жіне)   
 
 
 
 
ArrayList replaces = new ArrayList(); 
for (int i=0;ifor (int j=0;j<26;j++){ 
String replace = .substring(0,i)+(char)('a'+j)+a.substring(i+1); 
replaces.add(replace); 

  } 
Артық әріптің кіріп кету арқылы құлылған қатар(Мысалы: мен-маен)   
 
                                  
ArrayList inserts = new ArrayList(); 
for (int i=0;ifor (int j=0;j<26;j++){ 
String insert = a.substring(0,i)+(char)('a'+j)+a.substring(i); 
inserts.add(insert); 

Мәтінді теріп жатқанда іргелес тұрған пернені басу арқылы пайда болған қате. Бұл тәсілде біз 
тек әріптің екі шетіндегі әріптерді ғана алдық (Мысалы: маған-иаған
   ArrayList irgeles = new ArrayList(); 
        for (int i = 0; i < a.length(); i++) { 
            for (int j = 0; j < 41; j++) { 
                String insert = ""; 
                String insert2 = ""; 
                if (a.charAt(i) == aripMas[j][1]) { 
    insert = a.substring(0, i) + "" + aripMas[j][0] + "" + a.substring(i + 1, 
a.length()); 
                    irgeles.add(insert); 
  insert2 = a.substring(0, i) + "" + aripMas[j][2] + "" + a.substring(i + 1, 
a.length()); 
                    irgeles.add(insert2); 
                } 
            } 
        }  
 Осылайша алынған сөздерді қайталамай бір тізімге жинастырамыз. Ол үшін HashSet  
қолданылады 
          
HashSet candidates =new HashSet();   
 
 
candidates.addAll(deletes); 
 
 
 
 
 
candidates.addAll(transposes);   
 
 
 
candidates.addAll(replaces);
 
 
 
 
 
 
 
candidates.addAll(inserts) 
 
 
 
 
 
 
 
 
 
           return candidates; 
Қолданылған сөздерден іздейміз және мәтінде кездескеніне қарап sorting жасаймыз. 
HashSet  c = edit1(sword); 

if (knownWords(c).size()>0){ 
 
candidates.addAll(knownWords(c)); 
Collections.sort(candidates,new NWordsComparator()); 
return candidates; 

Егер берілген қатарлардан белгіленген сөзді таппасақ, алдынғы тәсіл арқылы қатардың табу 
тәсілімен өзгертеміз
 
 
 
 
 
 
 
 
 
 
 
   
HashSet x=new HashSet(); 
for (String i : c){ 
x.addAll(edit1(i)); 
  }  
Және базада бар қатарды іздейміз  
  
 
 
 
 
 
          
HashSet z = knownWords(x); 
 
 
 
 
 
         
      if 
(z.size() > 0) {   
 
 
 
 
   
  candidates.addAll(z);   
 
 
 
 
 
Collections.sort(candidates, new CorrectingMachine.NWordsComparator());            
 
return candidates;         
 
 
 
 
 
 
 
 
 
 

Егер бұдан да таппасақ бос қайтарамыз. 
 
Қортынды 
Бұл  тәсіл  өте  қарапайым,    бірақ  бірнеше  кемшіліктері  бар.  Бірінші  кемшілігі:  ол  тек  NWE 
(non-word  errors)    ғана  табуға  көмектеседі,  ал  RWE  (real  word  errors)  ешқалай  да  таба  алмайды. 
Яғни сіз “like sports”-тың орнына “like spots” деп жазсаныз, онда бұл жағдайда программа көмек 
бере  алмайды,  себебі  “spots”  сөзі  де  базада  кездеседі.  Программа  сөздікте  көп  кездескен  сөзді 
алғандықтан смартфондарға мүлдем келмейді, өйткені смартфондарда қате көбнесе іргелес тұрған 
пернелерден  кетеді.  Бұл  жұмыста  екінші  кемшілік  қарастырылып,  шешу  жолын  ұсынған. 
Жоғарыда  айтылған  алғашқы  жағдайды  алдағы  уақытта  шешімін  табуға  тырысамыз.  Сонымен 
қатар  негізгі  мақсатымыз  -  android  платформасында  қазақ  тілінде  арнайы  пернетақта  шығарып 
соның ішінде осы жұмысты пайдалану. 
 
УДК: 004.420 
 
М.Уатбаев, магистрант 
Международный университет информационных технологий 
Алматы, 
musa.uatbayev@gmail.com
 
 
Средства управления Web-сервисами 
 
1. Информационная безопасность 
Безопасность Web-приложений уже не первый год является важной составляющей в защите 
информационных  систем.  В  настоящее  время  мы  являемся  свидетелями  нового  витка  развития 
Web-технологий.  Сейчас  наблюдается  тенденция  активного  переноса  стандартных  клиент-
серверных приложений в Web-среду. Более того, в Web-среду переносятся такие разработки, как 
графические  редакторы  и  офисные  приложения,  к  тому  же,  работать  с  подобными  системами 
становится  доступным  одновременно  более  чем  одному  человеку.  Примерами  могут  послужить 
многочисленные приложения компании «Google», доступные средствами стандартных браузеров 
и  не  требующих  установку  дополнительного  программного  обеспечения,  система  электронного 
правительства,  например  e-gov.kz,  которая  активно  развивается  в  РК.  Ранее  мы  и  подумать  не 
могли,  что  подобные  технологии  так  быстро  начнут  обширно  применяться  в  нашей 
повседневности.  Web-технологии  заслужено  отстояли  право  произвести  революцию  в  мире 

информационных  технологий.  Наряду  с  тем,  что  новые  технологии  вносят  в  нашу  жизнь  свои 
удобные  и  интересные  решения,  они  так  же  порождают  новые  сложности  в  организации 
механизмов  их  защиты.  Ведь  коллективная  и  территориально  разделенная  работа  над  одними 
задачами  не  только  удобный  бизнес  инструмент,  но  также  и  новые  требования  к  обеспечению 
информационной  безопасности  работы  в  подобных  системах.  Наряду  с  глобальным  переходом 
общества на использование Web-технологий, элементами глобального перевода своих ресурсов в 
Web-среду  активно  становятся  такие  классы  организаций,  как  банки,  правительственные 
учреждения,  научные  лаборатории  и  прочие  организации,  чья  информация  носит  наиболее 
важный  характер,  и  нецеленаправленное  ее  использование  может  привести  к  плачевным 
результатам  глобального  масштаба.  Все  вышесказанное  еще  раз  подтверждает  то,  что  и  с 
течением  времени  актуальность  использования  Web-приложений  будет  только  расти,  а 
необходимость обеспечения их защиты будет выходить на первое место среди остальных задач. 
Например, всем нам известно, и каждый из нас сталкивается с подобным каждый день, когда для 
посещения  того  или  иного  места  мы  должны  обладать  определенными  привилегиями.  Если  мы 
держим  свои  деньги  в  банке,  это  не  значит,  что  мы,  являясь  клиентом  данного  банка,  можем 
свободно получить доступ к своим средствам, и должны будем подтвердить нашу причастность к 
нашим  средствам  разными  способами.  Вполне  вероятно,  что  при  входе  в  некоторые  отделения 
банка  от  вас  потребуют  подтверждения  вашей  личности  путем  предоставления  вами  вашего 
удостоверения.  Более  того,  копия  вашего  удостоверения  не  позволит  вам  пройти  некоторые 
уровни  проверки  там,  где  требуется  оригинальный  документ.  Наряду  с  этим,  от  вас  могут 
потребовать пройти через металлоискатель, и на этом ваши проверки могут не закончиться. Вроде 
бы ничего сложного – поставить охрану в нужных местах и определить правила их работы, но как 
быть во всемирной сети Интернет? Работая в сети Интернет, мы имеем дело с информацией, легко 
поддающейся  изменению,  и  ничего  не  мешает  злоумышленнику  изменить  информацию  таким 
образом, чтобы выдать себя за кого-то другого. 
Те правила обеспечения безопасности, что используются нами в реальной жизни, не подходят 
для использования во всемирной сети Интернет. Для обеспечения безопасности информационных 
систем используют методы информационной безопасности. 
2.Базовые составляющие информационной безопасности 
• Конфиденциальность – информация, раскрытие которой предоставляет значительные 
преимущества для конкурентов или имеет значительные неблагоприятные последствия для 
заинтересованных лиц, предоставивших информацию (определение из закона РК);  
•  Целостность  –  условие  того,  что  данные  не  были  изменены  при  выполнении  любой 
операции над ними, будь то передача, хранение или представление; 
•  Доступность  –  состояние  информации  (ресурсов  автоматизированной  информационной 
системы),  при  котором  субъекты,  имеющие  право  доступа,  могут  реализовывать  их 
беспрепятственно. 
Конфиденциальность  и  целостность  информации  достигается  при  помощи  криптографии. 
Криптография  –  основная  составляющая  современной  информационной  безопасности.  В 
современных  системах  конфиденциальность  и  целостность  достигает  достаточно  высокого 
уровня,  что  нельзя  сказать  о  доступности  информации.  В  силу  того,  что  системы 
информационной  безопасности  сложны,  часто  пользователю  требуется  обладать  определенным 
объемом  знаний  для  работы  в  защищаемых  системах,  но  большинство  пользователей,  которые 
непосредственно взаимодействуют с системой безопасности, не обладают необходимым объемом 
знаний,  что  усложняет  работу  в  системе.  Сложность  работы  в  системе  часто  вынуждает 
пользователей  нарушать  установленные  политики  безопасности,  что,  в  свою  очередь,  ведет  к 
увеличению рисков проникновения злоумышленников в защищаемые системы. Также, сложность 
работы с системами безопасности создает ощутимую нагрузку на отделы технической поддержки, 
что отражается на качестве ее предоставления и часто приводит к недовольству пользователей. 
В  настоящее  время  для  обеспечения  безопасности  Web-приложений  во  всем  мире  начинает 
активно применяется инфраструктура открытых ключей (англ. PKI – Public Key Infrastructure). 

PKI – технология управления открытыми ключами пользователей. Это комплексная система, 
которая  связывает  открытые  ключи  с  личностью  пользователя  посредством  удостоверяющего 
центра  (УЦ).  Связь  открытого  ключа  с  личностью  пользователя  можно  сравнить  с 
удостоверением личности или паспортом. 
Удостоверяющий  центр  –  это  компонент  глобальной  службы  каталогов,  отвечающий  за 
управление криптографическими ключами пользователей. Открытые ключи и другая информация 
о  пользователях  хранится  удостоверяющими  центрами  в  виде  цифровых  сертификатов.  Данные 
цифровые сертификаты можно сравнить с электронным паспортом пользователя. 
3.Основные принципы криптографической системы: 
- закрытый ключ известен только его владельцу; 
-  удостоверяющий  центр  создает  сертификат  открытого  ключа,  таким  образом  удостоверяя 
этот ключ; 
- никто не доверяет друг другу, но все доверяют удостоверяющему центру; 
-  удостоверяющий  центр  подтверждает  или  опровергает  принадлежность  открытого  ключа 
заданному лицу, которое владеет соответствующим закрытым ключом. 
Фактически,  PKI  представляет  собой  систему,  основным  компонентом  которой  является 
удостоверяющий  центр  и  пользователи,  взаимодействующие  между  собой  посредством 
удостоверяющего центра. 
Примером удостоверяющих центров в Казахстане являются
• Национальный удостоверяющий центр (НУЦ); 
• Удостоверяющий центр при Казахстанском центре межбанковских расчетов (КЦМР); 
Из  вышесказанного  видно,  что  при  использовании  технологии  PKI  между  пользователем  и 
защищаемым Web-приложением появляется третий субъект – удостоверяющий центр. Появление 
удостоверяющего  центра  повышает  и  переводит  на  новый  уровень  организацию  безопасности 
web-приложений,  одновременно  с  этим  усложняя  работу  пользователей,  а  именно  доступность 
Web-приложений  конечным  пользователям.  Сложность  работы  пользователей  в  системе 
безопасности,  построенной  на  базе  технологии  PKI,  заключается  в  необходимости 
взаимодействовать с удостоверяющим центром, и управлении своими ключами и сертификатами 
–  этот  процесс  достаточно  сложный.  Все  это  требует  от  пользователей  дополнительного 
повышения  уровня  знаний  и  дополнительного  времени  на  освоение  работы  в  системе 
безопасности. 
           Понимая  все  сложности  работы  пользователей  в  современных  системах  безопасности, 
отечественная  компания  «Ak  Kamal  Security»  разработала  уникальную  в  своем  роде  систему 
обеспечения  безопасности  Web-приложений  «Ak  Kamal  e-Security  Suite»,  а  в  основу 
программного комплекса заложила богатый опыт и  учла современные проблемы пользователей. 
Компания  «Ak  Kamal  Security»  специализируется  на  оказании  широкого  спектра  услуг  по 
обеспечению  информационной  безопасности,  а  также  поставках,  внедрении  и  сопровождении 
систем защиты информации. Так как компания работает на рынке информационной безопасности 
не первый год и имеет богатый опыт, в своих проектах внимательно учитывает все существующие 
проблемы  систем  информационной  безопасности,  а  также  занимается  развитием  собственного 
решения по информационной безопасности, построенном на основе технологии PKI. 
Понимая  все  сложности  следования  третьему  базовому  принципу  информационной 
безопасности – доступности в системах безопасности, компания смогла добиться высокого уровня 
доступности для работы пользователей. 
Программный  комплекс  «Ak  Kamal  e-Security  Suite»  (www.e-security.kz)  –  революционное 
решение  отечественной  разработки,  предназначение  для  обеспечения  безопасности  Web-
приложений.  Разработав уникальные методы автоматизации сложных процессов взаимодействия 
пользователей  с  объектами  систем  безопасности,  компания  достигла  такого  уровня  удобства 
работы  пользователей  в  системе  безопасности,  которая  позволяет  пользователям  с  любым 
уровнем  подготовки  незамедлительно  приступать  к  выполнению  своих  задач.  Внедрить  данную 
технологию  компании  удалось  не  причинив  ущерба  остальным  аспектам  информационной 
безопасности. 

Наряду  с  уникальными  возможностями,  «Ak  Kamal  e-Security  Suite»  на  высоком  уровне 
решает  основные  задачи  системы  информационной  безопасности.  При  работе  пользователей  с 
Web-приложением,  защищаемым  программным  комплексом  «Ak  Kamal  e-Security  Suite», 
решаются следующие задачи: 
• обеспечение конфиденциальности информации, которой обменивается пользователь с Web-
приложением; 
• обеспечение целостности информации – информация, отправляемая пользователем на Web-
приложение, не изменяется в процессе перемещения по каналам связи; 
•  обеспечение  аутентификации  пользователей  на  ресурсах,  к  которым  обращаются 
пользователи.  Пользователи  получают  доступ  только  к  той  информации,  к  которой  они  имеют 
право обращаться; 
•  обеспечение  возможности  подтверждения  совершенных  пользователями  действий  с 
информацией (неотказуемость, или апеллируемость) – когда пользователь не может отказаться от 
совершенных им действий. Применение электронной цифровой подписи (ЭЦП). 
4.Наиболее  распространенными  опасностями  при  работе  в  Web-приложениями:  
перехват трафика;  подмена Web-серверов; утеря отправляемых данных;  изменение или подмена 
данных во время их движения по каналам связи. 
Программный комплекс «Ak Kamal e-Security Suite» разработан в первую очередь для защиты 
пользователей от этих опасностей во время работы с Web-приложениями. «Ak Kamal e-Security 
Suite» обладает уникальным качеством – разработан отечественной компанией, а это значит: 
Полностью  соответствует  законам  РК;  Выполняет  требования  национального  банка  РК; 
Тесно  взаимодействует  с  удостоверяющими  центрами  РК;    Обеспечивает  юридическую 
значимость  выполняемым  операциям  согласно  законам  РК;    Динамично  развивается  с  учетом 
потребностей казахстанских заказчиков. 
Одним  словом,  полностью  удовлетворяет  требованиям  РК,  что  позволяет  незамедлительно 
приступать  к  его  использованию  в  уже  существующих  системах  и  защите  требуемых  Web-
приложений. 
Web-приложения сегодня 
Сегодня  каждая  организация  старается  предоставить  для  своих  клиентов  услуги  с 
использованием  всемирной  сети  Интернет,  потому  что  это  выгодно  и  эффективно.  Но  при 
выполнении  поставленных  перед  собой  задач,  каждая  организация  сталкивается  с  проблемами 
обеспечения безопасности. Часто решение этих проблем мешает нормальному развитию функций 
Web-приложений.  Бывает,  что  масштабы  Web-приложения  организации  достигают  таких 
размеров,  когда  организация  начинает  расходовать  все  свои  ресурсы  на  поддержание 
безопасности  на  должном  уровне  и  у  нее  совершенно  не  остается  возможностей  продолжать 
развивать Web-приложение. Такое состояние можно назвать «тупиком». К тому же, такой подход 
приводит  к тому, что  организацией безопасности Web-приложения занимаются специалисты, не 
имеющие  должного  уровня  подготовки  для  выполнения  подобных  задач.  Это  влияет  на 
эффективность  развития  Web-приложения,  а  именно  –  на  его  безопасность,  что  часто  очень 
неприемлемый результат, особенно для организаций, дорожащих своей репутацией. А мы живем 
в то время, когда каждая организация дорожит своей репутацией, т.к. от этого зависит ее будущее. 
Используя  «Ak  Kamal  e-Security  Suite»,  организация  может  направить  основные  усилия  на 
развитие  своего  Web-приложения.  Как  говорилось  ранее,  со  временем  Web-приложение 
увеличивается  и  требует  больших  усилий,  а  с  использованием  «Ak  Kamal  e-Security  Suite» 
развитие Web-приложение организации будет в разы быстрее. Главное в подобной ситуации то, 
что  организация  безопасности  Web-приложения  при  помощи  «Ak  Kamal  e-Security  Suite» 
выполняется  в  короткие  сроки  и  проста  в  реализации,  а  главное  –  практически  не  требует 
доработок  уже  существующих  Web-приложений.  В  случае  еще  разрабатываемых  Web-
приложений, вовсе не усложняет логики Web-приложения. Взаимодействие «Ak Kamal e-Security 
Suite»  и  Web-приложения  так  же  реализовано  с  учетом  знаний  о  существующих  сложностях, 
поэтому  организация  защита  Web-приложений,  даже  для  очень  сложных  Web-приложений, 
осуществляется  с  минимальным  количеством  усилий.  Из  схемы  видно,  что  все  запросы 

пользователей будут сначала поступать на шлюз «Ak Kamal e-Security Suite» и только после этого 
передаваться  на  Web-приложения  организации.  Это  начит,  что  ни  один  пользователь не  сможет 
получить прямой доступ к Web-приложению. 
Такой подход позволяет не акцентировать внимание на области применения Web-приложения 
и обеспечивать безопасность в любых информационных системах. 
 

Достарыңызбен бөлісу:
1   ...   12   13   14   15   16   17   18   19   ...   40




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет