Akademia Kodowania Intela IoT i DDoS

Coś śmiesznego dla zabicia nudy, Intel organizuje akademie dotyczącą kodowania na IoT:

Akademia Kodowania Intela – pierwszy w Polsce konkurs Internet of Things dla uczniów!
Uatrakcyjnienie szkolnych badań, zbudowanie makiety inteligentnego miasta lub robota sprawdzającego obecność – to tylko niektóre pomysły, które mogą zrealizować szkoły, biorąc udział w pierwszym polskim konkursie IoT dla uczniów – Akademia Kodowania. Konkurs wystartował 15 grudnia, a jego głównym celem jest pobudzenie wyobraźni młodzieży poprzez wykorzystanie możliwości platform Edison i Genuino 101, stworzonych przez firmę Intel.
Umiejętność programowania jest jedną z kluczowych kompetencji cyfrowych poszukiwanych aktualnie na rynku pracy. Dlatego tak ważne jest kształcenie i pobudzanie wyobraźni młodych ludzi w tym kierunku już od samego początku ich szkolnej drogi. Właśnie z tego powodu firma Intel zorganizowała konkurs Akademia Kodowania skierowany do uczniów szkół gimnazjalnych i ponadgimnazjalnych, który nie tylko angażuję sferę abstrakcyjnego myślenia, ale przede wszystkim inspiruje uczniów do odkrywania świata nowych technologii.
Jak wziąć udział?
W konkursie może wziąć udział drużyna składająca się z minimalnie 4, a maksymalnie 7 uczniów. Każda z nich musi mieć opiekuna w postaci nauczyciela, który będzie w projekcie pełnił funkcję mentora. Szkołę i drużynę trzeba zgłosić na stronie: www.akademiakodowania.com do 30 stycznia 2017 roku.
Co trzeba zrobić?
Akademia Kodowania składa się z dwóch etapów. Pierwszy z nich polega na wymyśleniu i opisaniu scenariusza zakładającego kreatywne wykorzystanie płytek deweloperskich – Intel Genuino 101 w szkołach gimnazjalnych, Intel Edison w ponadgimnazialnych. Uczestnicy mają za zadanie zaprojektować inteligentny system lub urządzenie, które uatrakcyjni edukację w szkole lub przyczyni się do unowocześnienia stylu życia. Innymi słowy, trzeba wymyślić coś, co przyda się podczas szkolnych lekcji, uatrakcyjni przerwy lub sprawi, że zajęcia gimnastyki staną się jeszcze ciekawsze.
Jakie kryteria będą brane pod uwagę przy ocenie projektu? Przede wszystkim innowacyjność, możliwość jego realizacji, wsparcie nauczyciela (mentora) oraz bardzo ważne – stopień wykorzystania dostępnych narzędzi Intela.
– Chcemy zwiększyć atrakcyjność młodego pokolenia na cyfrowym rynku pracy. Zależy nam na zainspirowaniu ludzi i pokazaniu kodu jako narzędzia do twórczego wykorzystania technologii. Stosując proste, szeroko znane w edukacji narzędzia, takie jak program Scratch, młody wynalazca zyska możliwość zakodowania w prosty sposób własnego, ekscytującego pomysłu i przekształcenia go w rzeczywisty, działający projekt. Mamy nadzieję, że praca z naszym sprzętem pozwoli nie tylko uatrakcyjnić zajęcia, ale też wpłynie na podniesienie kreatywności i zaangażowania uczniów – podkreślają pomysłodawcy akcji.
Organizatorzy konkursu ocenią nadesłane projekty za pomocą specjalnego systemu punktacji. Do drugiego etapu zakwalifikują się autorzy najciekawszych pomysłów. Zostaną oni nagrodzeni profesjonalnymi zestawami narzędzi i sprzętem, który umożliwi zbudowanie prototypu wcześniej wymyślonego urządzenia. Najlepsze z nich, na podstawie przesłanej prezentacji wybierze jury. Na zwycięską drużynę czekają nie tylko atrakcyjne nagrody rzeczowe, ale też pieniężna w wysokości 2000zł do wykorzystania na szkolną wycieczkę lub inny, wspólny cel.
Termin nadsyłania zgłoszeń upływa 30 stycznia. Wszystkie szczegóły wraz z formularzem zgłoszeniowym oraz regulaminem konkursu dostępne są na stronie www.akademiakodowania.com. Za pomysłem i realizacją konkursu stoi firma Intel Technology Poland.

Idea zacna, jednak chciałem dopytać o informacje bardziej na czasie w odniesieniu do IoT:

Czy będzie można zgłaszać prace dotyczące tematyki DDoS?

Otrzymałem pocieszającą odpowiedź:

Hej Bartosz,

można – jesli tylko jakoś udowodnicie, że przyda się to w szkole:)

Pozdrawiam,

Hehe 🙂

Konkurs do wygrania licencje na PELock

new_1Wraz z Magazynem Programista mamy przyjemność zaprezentować konkurs dla obecnych i przyszłych prenumeratorów. Do zdobycia jest 6 licencji na oprogramowanie zapewniające bezpieczeństwo i licencjonowanie aplikacji dla systemu Windows – PELock.

https://www.pelock.com/pl/produkty/pelock

Aby wziąć udział w konkursie wystarczy być abonentem Magazynu Programista lub zasubskrybować go na dowolny okres oraz w dowolnej formie i napisać do redakcji w jaki ciekawy sposób moglibyście wykorzystać to oprogramowanie w Waszej pracy:

https://programistamag.pl/kontakt/

Wśród najciekawszych zgłoszeń przesłanych zarówno przez osoby jak i firmy zostaną rozlosowane po 3 licencje:

  • 3x PELock Licencja Osobista – warta 499 USD
  • 3x PELock Licencja Firmowa – warta 999 USD

Łączna pula nagród to ponad 17000 PLN!

Czas trwania konkursu wyznaczony jest na miesiąc tj. do 11 grudnia 2016 r. Zwycięzcy konkursu zostaną powiadomieni e-mailowo do 22 grudnia 2016 r.

Zachęcamy do subskrypcji i zabawy.

AutoIt Obfuscator v1.1 – Aktualizacja Silnika

AutoIt Obfuscator został zaktualizowany do wersji 1.1, gdzie cały kod parsera AST został przepisany, w efekcie czego wszystko działa w końcu tak jak powinno, czyli szybko.

https://www.pelock.com/obfuscator/

Przyznaję, poprzednia wersja miała problemy wydajnościowe już przy większych skryptach, jednak dzięki migracji na PHP7 i wykorzystaniu nowych elementów języka udało się uzyskać bardzo dobre rezultaty.

AutoIt Obfuscator Kod Po Obfuskacji

Zachęcam do testów, a jeśli macie jakieś sugestie co do strategii obfuskacyjnych to przyślijcie je z przykładowymi kodami źródłowymi, jeśli zostaną wykorzystane otrzymacie darmowe kody aktywacyjne.

Praca Senior Security Researcher

minervaFirma Minerva z Izraela poszukuje kandydatów na stanowisko Senior Security Researchera. Z opisu wynika, że praca jest w Izraelu. Opis ze strony:

Responsibilities

We are looking for an expert security researcher to join our growing team.

The scope of responsibility for this role includes:

  • Research and extend our product vision and implementation
  • Analysis of malware, exploits and vulnerabilities
  • Maintain and improve existing coverage of lab automation and simulation
  • Respond to malware based security events at customers environments.

Requirements

  • BSc in Computer science or relevant army unit or proven industry experience
  • Experience in reverse engineering and malware analysis
  • Experience with C/C++ and Windows API
  • Deep understanding of inner-workings of operating systems
  • Experience with disassembly, debugging tools and unpacking
  • Good understanding of Assembly x86/x64, Intel Architecture and corresponding instruction formats.
  • Development experience in scripting languages such as Python.
  • Knowledge in Security and Anti Malware technologies
  • Knowledge of enterprise level security products and implementation
  • Visionary and creative, strong problem solving, troubleshooting and analysis skills
  • Experience working in fast-paced development environments
  • Advanced written and verbal communication skills.

Send your CV to [email protected] and you’ll be one step closer to being part of our team!of our team!

https://www.minerva-labs.com/careers/senior-security-researcher

AutoIt Obfuscator – Obfuskacja Skryptów AutoIt

Przez ostatni miesiąc pracowałem nad projektem obfuscatora dla języka skryptowego AutoIt i z przyjemnością prezentuję pierwsze wydanie AutoIt Obfuscatora.

AutoIt Obfuscator v1.0

Co to jest AutoIt?

AutoIt to język skryptowy pomocny przy automatyzacji zadań związanych z interfejsem użytkownika w systemie Windows, jest on często wykorzystywany przy tworzeniu skryptów dedykowanych dla Windows, czy całych aplikacji konsolowych lub okienkowych np. botów do gier. Żeby oddać sprawiedliwość, muszę powiedzieć, że jego łatwość użycia i bogactwo oferowanych funkcji również przyczyniła się niestety do tego, że tworzone jest w nim malware, chociaż można tutaj argumentować, że również inne języki programowania są do tego wykorzystywane.

Dekompilacja AutoIt

Wadą AutoIt jest to, że po kompilacji skryptu do formatu EXE, kod skryptu jest zapisany w zasobach pliku EXE w zaszyfrowanej formie, ale dzięki wykorzystaniu odpowiednich narzędzi, możliwe jest jego odtworzenie do pierwotnej formy kodu źródłowego.

Ukryty skrypt AutoIt w zasobach EXE

Obfuskacja kodu AutoIt

AutoIt Obfuscator stosuje zaawansowaną analizę kodu źródłowego AutoIt (AST) i wykorzystując szereg zaawansowanych technik zaciemniania kodu źródłowego potrafi tak zabezpieczyć zmienne, funkcje, stringi, że zrozumienie działania tak zaszyfrowanych elementów w kodzie źródłowym będzie po prostu bardzo trudne.

Przykład przed zastosowaniem obfuscatora:

ConsoleWrite("Hello World!")

Kod po zastosowaniu AutoIt Obfuscatora:

Global $var_382 = 225
Global $VWUKTOPAG = 10
#OnAutoItStartRegister "func_1675"
Global $FBWUYAT_OSPPKEBV = Asc("l")
Global $WnCx4HPC0ea312__qu_T_3[2][16] = [[1540386418, 74, 52187, 23787, 15150, 224, 789929744, 10864, 46, 57292, 240, 36153703,  _
225, 225, 71, 201],  _
[1182170127, 61672, 15345, 37, 43206, 93, 67, 60, 56413, 133, 48731, 50442, 85, 40037,  _
15258, 13131]]
Global $var_2697 = Asc("C")
Global $var_502[15] = [776861442, 50520, 914414646, 60003, 153, 152, 57581, 41, 252554063, 1178542709, 1790,  _
1503905662, 10736, 118, 43596]
#OnAutoItStartRegister "IdybyqbmmzEwhkdbwcylFunc"
Global $dQtfnuoLbawdebyaWhfqizr = Lekpwpih
Global $dMokwkydCxvjc = BitAND
Global $nWhzikjjrw = NabjqvtehhFunc
Global $_TJYsFyGFpg_A_2oUnB = uBG_WvHge_KoF_kUIKRuBDkE_
Global $var_3477 = RryazhTnrreatVrstjczn
Global $3_JqevgUiOsgQ6AIN3YX_F7X_ = StringReverse
Global $mIdavvqh = BitXOR
Global $tQcjmm = ConsoleWrite
Global $var_1580 = func_3695
Global $var_3104 = _ArrayToString
Global $8PV9OzZiO__Uv_5i = func_182
Global $var_2267 = BitNOT
Global $var_1232 = AprrvxelFdkqnecwUytafbsij
Global $IYHEMOSVL_NIVAI = ChrW
Global $var_1660 = StringTrimRight
Global $ZJLLAEEQ = JwctaHcLcuhgwH_lpM_Siu_
#include <Array.au3>
$tQcjmm($3_JqevgUiOsgQ6AIN3YX_F7X_($var_1580(($_wAv_m9f__FXOFTwxBqwX79 < $WRFGDNBJCT_XUFOVVGTR ? 151 : $var_3477()), $var_502[8],  _
($var_2697 >= $WnCx4HPC0ea312__qu_T_3[1][2] ? $var_382 : 107), $FBWUYAT_OSPPKEBV)) & $var_1660($_TJYsFyGFpg_A_2oUnB(($VWUKTOPAG >= $var_3477() ? $FBWUYAT_OSPPKEBV : 216), $var_382),  _
$var_2267(-($FBWUYAT_OSPPKEBV < $8PV9OzZiO__Uv_5i() ? 7 : $WRFGDNBJCT_XUFOVVGTR))) & $3_JqevgUiOsgQ6AIN3YX_F7X_($var_1232($dQtfnuoLbawdebyaWhfqizr(), $_wAv_m9f__FXOFTwxBqwX79, 1798366573)) & $var_1660($ZJLLAEEQ($dQtfnuoLbawdebyaWhfqizr(), $WRFGDNBJCT_XUFOVVGTR, ($WnCx4HPC0ea312__qu_T_3[1][6] > $var_502[7] ? 198565640 : $var_3477())),  _
$mIdavvqh(968160980, $WRFGDNBJCT_XUFOVVGTR)))
Func AprrvxelFdkqnecwUytafbsij($PYLAO_EDFNQKEVTT_GBNZEGWVBB, $IAHTBPINLF_LZPPI_IKLEMVZXAS, $eLnhiqmiOhxcsbkjcKnhua)
    Local $TISRVTYMCY_UTCRMXDAQU_CRHFBPEL[($VWUKTOPAG >= $var_382 ? $var_502[2] : 1)] = [($WnCx4HPC0ea312__qu_T_3[0][0] <= $var_382 ? $var_382 : 0xC3F2)]
    For $eNfcgzp = 0 To 0
        $var_3853 = $TISRVTYMCY_UTCRMXDAQU_CRHFBPEL[$eNfcgzp]
        $var_3853 -= $eNfcgzp
        $var_3853 = $mIdavvqh($var_3853, ($VWUKTOPAG >= $nWhzikjjrw() ? $var_502[6] : 0xEF06))
        $var_3853 += ($var_382 >= $WRFGDNBJCT_XUFOVVGTR ? $_wAv_m9f__FXOFTwxBqwX79 : 0xD378)
        $var_3853 = $dMokwkydCxvjc($var_3853, ($8PV9OzZiO__Uv_5i() >= $WRFGDNBJCT_XUFOVVGTR ? $FBWUYAT_OSPPKEBV : 65535))
        $TISRVTYMCY_UTCRMXDAQU_CRHFBPEL[$eNfcgzp] = $IYHEMOSVL_NIVAI($var_3853)
    Next
    Local $var_2915 = $var_3104($TISRVTYMCY_UTCRMXDAQU_CRHFBPEL, "")
    Return $var_2915
EndFunc
Func JwctaHcLcuhgwH_lpM_Siu_($aAlahprKxwdhaoc, $var_601, $sCfjwvLtiqdrLgegpggt)
    Local $JFANFJDYFI[($var_382 = $var_382 ? 5 : $_wAv_m9f__FXOFTwxBqwX79)] = [($var_2697 <= $VWUKTOPAG ? $VWUKTOPAG : 0x7A2E), 0x7A6D, ($var_382 = $var_382 ? 0x7A2F : $FBWUYAT_OSPPKEBV),  _
($_wAv_m9f__FXOFTwxBqwX79 > $dQtfnuoLbawdebyaWhfqizr() ? 0x7A3A : $_wAv_m9f__FXOFTwxBqwX79),  _
($var_3477() <> $var_3477() ? $VWUKTOPAG : 0x7A01)]
    For $_drmRe331_tm6xDMY5_Q_ninv = ($WRFGDNBJCT_XUFOVVGTR <= $var_502[12] ? $FBWUYAT_OSPPKEBV : 0) To ($WRFGDNBJCT_XUFOVVGTR > $dQtfnuoLbawdebyaWhfqizr() ? 4 : $FBWUYAT_OSPPKEBV)
        $var_3763 = $JFANFJDYFI[$_drmRe331_tm6xDMY5_Q_ninv]
        $var_3763 = $mIdavvqh($var_3763, ($8PV9OzZiO__Uv_5i() >= $_wAv_m9f__FXOFTwxBqwX79 ? $var_3477() : 0x7A4D))
        $var_3763 = $var_3763 + ($dQtfnuoLbawdebyaWhfqizr() <= $FBWUYAT_OSPPKEBV ? $nWhzikjjrw() : 1)
        $var_3763 = $dMokwkydCxvjc($var_3763, 65535)
        $JFANFJDYFI[$_drmRe331_tm6xDMY5_Q_ninv] = $IYHEMOSVL_NIVAI($var_3763)
    Next
    $JFANFJDYFI = $var_3104($JFANFJDYFI, "")
    Return $JFANFJDYFI
EndFunc
Func uBG_WvHge_KoF_kUIKRuBDkE_($YGWXMAHO_KBAAGVPNLL, $var_2579)
    Local $EIIZXLE_KVDXFPWV_PSBJOYZ[($FBWUYAT_OSPPKEBV > $var_2697 ? 13 : $var_3477())] = [0xFF93, 0xFF93, ($var_502[4] >= $nWhzikjjrw() ? $var_502[8] : 0xFF90), ($var_3477() < $8PV9OzZiO__Uv_5i() ? 0xFFDF : $nWhzikjjrw()),  _
($var_502[1] > $FBWUYAT_OSPPKEBV ? 0xFFA8 : $_wAv_m9f__FXOFTwxBqwX79), ($dQtfnuoLbawdebyaWhfqizr() < $var_382 ? 0xFF90 : $FBWUYAT_OSPPKEBV),  _
($var_502[13] <= $var_2697 ? $var_2697 : 0xFF8D), ($_wAv_m9f__FXOFTwxBqwX79 <> $_wAv_m9f__FXOFTwxBqwX79 ? $8PV9OzZiO__Uv_5i() : 0xFFA7),  _
($WRFGDNBJCT_XUFOVVGTR <= $FBWUYAT_OSPPKEBV ? $WnCx4HPC0ea312__qu_T_3[0][1] : 0xFFAE),  _
($var_2697 < $8PV9OzZiO__Uv_5i() ? 0xFFAF : $dQtfnuoLbawdebyaWhfqizr()), ($8PV9OzZiO__Uv_5i() < $_wAv_m9f__FXOFTwxBqwX79 ? 0xFFB5 : $var_382),  _
($WRFGDNBJCT_XUFOVVGTR <= $WnCx4HPC0ea312__qu_T_3[1][13] ? $var_2697 : 0xFFBA), ($WnCx4HPC0ea312__qu_T_3[0][10] <= $var_382 ? $dQtfnuoLbawdebyaWhfqizr() : 0xFFA7)]
    For $eDqcuhsgcxvBmwgohz = 0 To ($WRFGDNBJCT_XUFOVVGTR > $var_2697 ? 12 : $dQtfnuoLbawdebyaWhfqizr())
        $DNMEK_IEDXUB_ZZOIANETRA = $EIIZXLE_KVDXFPWV_PSBJOYZ[$eDqcuhsgcxvBmwgohz]
        $DNMEK_IEDXUB_ZZOIANETRA = $var_2267($DNMEK_IEDXUB_ZZOIANETRA)
        $DNMEK_IEDXUB_ZZOIANETRA = $dMokwkydCxvjc($DNMEK_IEDXUB_ZZOIANETRA, ($8PV9OzZiO__Uv_5i() <= $var_3477() ? $var_3477() : 0xFFFF))
        $EIIZXLE_KVDXFPWV_PSBJOYZ[$eDqcuhsgcxvBmwgohz] = $IYHEMOSVL_NIVAI($DNMEK_IEDXUB_ZZOIANETRA)
    Next
    Local $CWHGTCKSN = $var_3104($EIIZXLE_KVDXFPWV_PSBJOYZ, "")
    Return $CWHGTCKSN
EndFunc
Func func_3695($M2ia21BGv__6rm2rQE1f, $RWXBFJW_ZCPPAAUO, $DWVTV, $_heJ1_iJlHN_09pGG)
    Local $nPgfsdlQdrweuxmt[($FBWUYAT_OSPPKEBV >= $WRFGDNBJCT_XUFOVVGTR ? $var_502[6] : 2)] = [($var_382 > $_wAv_m9f__FXOFTwxBqwX79 ? 0x13EA : $dQtfnuoLbawdebyaWhfqizr()), ($WRFGDNBJCT_XUFOVVGTR > $var_2697 ? 0x13C6 : $8PV9OzZiO__Uv_5i())]
    For $QDLGH = ($var_502[9] > $VWUKTOPAG ? 0 : $dQtfnuoLbawdebyaWhfqizr()) To ($dQtfnuoLbawdebyaWhfqizr() >= $var_502[11] ? $var_3477() : 1)
        $var_2664 = $nPgfsdlQdrweuxmt[$QDLGH]
        $var_2664 = $mIdavvqh($var_2664, ($var_382 > $dQtfnuoLbawdebyaWhfqizr() ? 0x138F : $FBWUYAT_OSPPKEBV))
        $var_2664 -= $QDLGH
        $nPgfsdlQdrweuxmt[$QDLGH] = $IYHEMOSVL_NIVAI($dMokwkydCxvjc($var_2664, ($VWUKTOPAG < $WnCx4HPC0ea312__qu_T_3[0][4] ? 65535 : $var_2697)))
    Next
    $nPgfsdlQdrweuxmt = $var_3104($nPgfsdlQdrweuxmt, "")
    Return $nPgfsdlQdrweuxmt
EndFunc
Func IdybyqbmmzEwhkdbwcylFunc()
    Global $WRFGDNBJCT_XUFOVVGTR = 968160983
EndFunc
Func NabjqvtehhFunc()
    return 609141471
EndFunc
Func func_1675()
    Global $_wAv_m9f__FXOFTwxBqwX79 = 185
EndFunc
Func Lekpwpih()
    return 134
EndFunc
Func func_182()
    return 169
EndFunc
Func RryazhTnrreatVrstjczn()
    return 158
EndFunc

Wersja online, okienkowa, konsolowa i Web API

AutoIt Obfuscator dostępny jest jako usługa online z interfejsem na stronie:

https://www.pelock.com/pl/autoit-obfuscator/

Jako wersja okienkowa i konsolowa dla systemów Windows (.NET) oraz Linux (Mono):

https://www.pelock.com/pl/produkty/autoit-obfuscator/pobierz

AutoIt Obfuscator wersja konsolowa

Dostępny jest również interfejs Web API z przykładami użycia dla PHP:

https://www.pelock.com/pl/produkty/autoit-obfuscator/api