we appreciate it. I'm actually really excited to be here so it turns out if you organize an event and do a technical talk it's quite a challenge so I'm really glad we made it. It was not an early night last night but I think we're in good shape. Okay so first off does anyone here have these kinds of smart lights at home yet? Can we see a raise of hands? Also this may be a quarter to a half of the room here. This is very interesting. Hopefully you will have some new tricks up your sleeve after our talk. Okay so first off who are we? My name is Tom. I'm one of the organizers of the camp here. I'm a firmware engineer at Ultimaker and I have a little company that makes quirky electronic gadgets. I'm here with my long-term friend Gillet. Hi my name is Gillet Nostar. I am a security engineer and an internal blue team so I do incident response. I also like to also I'm quite an avid CTF player. I've been playing for about 10 years with my CTF team spotless and yeah we do I do quite a bit of stuff in my free time including projects such as this. I'm gonna move to Tom now to introduce the rest of the first talk. All right so what are we talking about today? We're talking about these these kinds of smart IoT lights. First we'll do a quick introduction of how we dove down the rabbit hole that we are in now. How we got to this. Then we'll talk a bit about the initial revision of hardware that we found then a big refamp with a new type of chip where we found some new things and finally we'll show you a vulnerability that we found out is running on millions of devices all over the world that we use to break free of internet connected servers and run these devices locally only inside of your own network. Hopefully at the end there will be some room for questions but we'll see how the time pans out. All right so starting with our inspiration in 2019 Dutch Hacker Space Hack 42 called up all the troops and said we found these devices at Action a local store. There are a power plug that's connected to your Wi-Fi and you can hack them to run locally. You can run whatever firmware you like on them and they organized this session to hack these devices together and they put it up on a wiki you see it on the right. They found that there's this tool called Tuya Convert that you can use to break free these devices of the firmware that they came with and instead flash your own on it and this Tuya Convert an open source tool turned out to be based on research from CCC 35 C3 by Michael from V-Trust who's actually sitting right here in the room. So he found a really cool bug that allowed you to take control of the device and flash your own firmware to it and how did it work? So the device connects to the server of the manufacturer. It has a sort of handshake where it sends some information including this thing called the PSK ID and then it starts encrypting the connection with TLS PSK pre-shared key. This pre-shared key though it was derived from the PSK ID that got sent. So it sent to the server all the information you need to figure out how to encrypt and decrypt the data and so using this knowledge you can actually get rid of the whole vendor server act like you're the server and take control of the device and this is the trick that was used to flash custom firmware then and so when we bought some of these lights for our home we figured okay we can just use this Tuya Convert and our entire home will be cheaply filled with smart IoT devices that we can do fun stuff with. Wrong. At some point Tuya the manufacturer of these devices and millions of devices like them they manufacture them white label for thousands of manufacturers. They changed their firmware they patched this stuff that that Michael found of course and from that point onwards the pre-shared key was no longer derived from stuff that you could see publicly. Instead it was seemingly we think generated randomly at the factory flash to the device unique per device and you could no longer see it. Shit. So now what? We got a whole bunch of these lights and we cannot do anything with them other than let them happily connect to their servers of Tuya. So we figured okay if they're not vulnerable anymore we simply have to make them vulnerable again right how hard could it be and so there's a couple options we thought one we can obtain the psk again either leaking it or changing it to some some value that we want or we can try to downgrade this version two of the protocol back to version one that was vulnerable and then use Tuya convert again or if all else fails we just get code execution on the light bulb right well you can guess where we ended up. So first off we started with this initial hardware revision of them this this was from lights light bulbs we bought in 2019 i think it contained the esp8266 chip a very popular microcontroller that has wi-fi super popular and because it's super popular there's also a whole bunch of tooling that you could use we could dump the firmware from these light bulbs using esp tool common tool for handling expressive chips you get a raw binary flash dump from that that you can then load into a tool called esp bin to elf that gives you an elf executable image which you can load into gidra using an extension a module for extensor architecture then you analyze the firmware you dumped and you find a whole bunch of functions that are not annotated they don't have symbols so you don't know what they do there's a simple trick that you can use to get at least symbols for many common functions which is you just compile a demo application using the expressive SDK you analyze that in gidra and then you can you compare the footprints of functions with each other so you have a list of functions on the right the list of functions on the left and you can map them there's tools to do this but of course we didn't know about it back then so we we made a simple one of our own we mapped these functions and got got a sort of lay of the land we found out that two other manufacturer runs free rt os on these devices in free rt os they they have a whole bunch of tasks one task the init task that starts all the other tasks and two to us particularly interesting ones a task called udp receiver which listens for broadcast traffic on the network and a task called smart frame task that handles commands that you send to it via including this udp receiver task and on top of this they have a bunch of drivers for controlling gpio and pwm peripherals and this kind of stuff all right so now how do we how do we get root on these things we found that there's a bunch of keys used in this firmware the psk key that we talked about previously that encrypts the connection to the server you see that in yellow on the slide but also other ones and this we we did not know about before so data inside of this tls encrypted connection is encrypted and signed by something called the os key which after you activate the device via their servers over the internet gets replaced by something called the sec key and all of that is separate from something called the local key which you obtain after activation with the server it's it's initially empty and after activation you you can you can get it to then use the device on your local network without an internet connection well we wanted to use it without connecting to the server in the first place right so our goal was to get ownership of these keys somehow without connecting to do yeah and for this part i will hand over to gellet so we've analyzed and reverse engineered the firmware for this particular revision for quite a while we actually stumbled on a few vulnerabilities throughout our analysis however as luck would have it we would not actually end up exploiting these particular vulnerabilities so there's more later of course otherwise the talk would pretty much end here but yeah so we think these vulnerabilities are interesting nonetheless we would like to share you share them with you and let's start with the first one so what you see in front of you on the slide right now is a function in the firmware it generates a random string you see it takes three parameters the first one is completely unused the second one is a character pointer it's really a pointer to a buffer and then actually the maximum length which is essentially the length of the buffer itself what the function does very briefly is it takes the current time and do keep in mind these devices are set up without a real-time clock working so essentially this really is just a counter from the boot time of the device it just keeps incrementing well every second sort of and it takes that it generates some index in it and it indexes into this interesting string that's highlighted in red this kind of an artifact from Gidro because that's where we copied the code from but this is essentially this really massive long string that is hard coded in the firmware and basically what this function does is it takes a substring of that returns it and calls it random now that's obviously not very random but of course you know for a lot of things yeah you don't really need a cryptographically secure random number generator or something of the sort so would have been fine if you maybe perhaps come up with a construction like this for other purposes however if you use it for TLS then you have other sort of problems what we ended up finding out is if you were to look at the traffic between the device and the cloud server just zooming in here on the client hello message from the client to the server you'll see that the random field that's highlighted in blue and also in the dump you see it bordered by red is essentially pretty much the first part like the first 30 something characters of that very very long string now in this particular setup because they use TLS with pre-shared keys this isn't actually much of an issue we actually talked to a friend who there's quite a bit of research on TLS and we were wondering if this could be exploitable in the TLS PSK setup however turns out TLS 1.2 and up are actually quite resilient protocols and this doesn't immediately lead to a vulnerability as far as we know however why do we think this vulnerability is interesting is should they at any point switch to using cipher suites that actually utilize a key exchange mechanism such as diffie helman miracle key exchanges using perhaps certificates for validating the exchange process then this would immediately yield the man in the middle attack because now that you have the client random which you can guess with relatively high frequency figure out what the correct value is if you just capture the first few handshakes between a client and a server then you can just go ahead and derive the TLS pre-master key once just keep reusing it over and over and that's pretty much a win. We did some more analysis now we found some protocols as Tom mentioned there were some function handlers that were handling messages from the network some of them were actually handling the messages from devices on the on the local network in particular these messages were completely unencrypted so we we thought that they would be interesting candidates to look at the functions that parse and handle them because well yeah those are ones that we can easily reach we don't need any keys to send messages to these handlers and so we did and we ended up finding two bugs there a stack buffer overflow in the function that parses it and a heap buffer overflow and the same function but for a different message for the stack buffer overflow the function is implemented as a free rtOS task what that really kind of means in traditional terms is its long running process it's essentially in this case an infinite loop that just keeps on running waiting for messages to come in and for every message it just parses it does some handling etc now we had control over the the stack somewhat it was a bug where we as long as we are not writing null bytes we can modify the contents on the stack at the location of the vulnerability and that allowed us to overwrite the return address should be a win right we should be able to just go ahead and take control of take control of the code flow and then perhaps do something useful however well yeah it's an infinitely running process it at no point does it ever return we could not find a way to maybe trigger it into a fault mode that would have it to do an early return on or some such and sadly also analyzing the stack parameters and around it we couldn't really find anything interesting that we could use to make it do something a little bit more so essentially we could just crash it and that was pretty much it for the heap buffer overflow kind of a similar story we could manipulate the metadata of the blocks that the heap allocator takes keeps track of for allocations and freeze we actually we so we decided to study it a little bit and we found out that tuya has just modified one of the heap implementations that's provided with free rt os but doing so far we've done all of this statically right we're just we have ghidra open we've got our decompiler disassemblers and we're just kind of analyzing code manually going through it by hand but when it comes to things like allocator misuse bugs it's at least in my experience a bit more tricky to do that just by hand usually it's quite nice to see if you can get some dynamic analysis going so some debugging getting a bit of a of an understanding of what's actually happening in memory when you're doing all sorts of stuff so we decided to take a little detour then and somehow rediscovered a nice hardware hacking technique which is if we just trigger the conditions that we want on the device reset it into bootrom and then use esp tool the tool that was already there we could actually get a really nice ram dump of the contents of memory at the time we triggered this process and turns out you can just take this ram dump and overlay it onto your binary in ghidra it supports that was quite nice and then you can kind of see so in this particular screenshot you actually see one of the the blocks of the heap allocator that the heap allocator use and you can kind of see the connections between them so it's a bit more of a hybrid you're not just reverse engineering code you also get some data in there and you can kind of see how this data relates to the instructions that act upon it we went a step further actually so searching on the internet for if we can do on-chip debugging with the esp8266 yielded a whole lot of nos but there was one yes there was one tutorial about using visual gdb to debug applications on the in esp8266 however we would have preferred to utilize just gdb and open ocd those are the tools that we're more familiar with so what we did is we took a we forked the benetails gdb extensa that's actually been tailored for the esp32 modified it just a little bit to get it to to work nicely with the esp8266 and got some help from some people on getting open ocd running properly with our debuggers of choice for the esp8266 now this helped us a lot we actually were able to debug what's happening on the chip as we're triggering the vulnerabilities and see how things progress and put breakpoints sadly just one breakpoint so it was a bit of a monkey jumping around with that one breakpoint it was not a very nice experience but it is what it is we got somewhere where we didn't expect to unfortunately as we analyzed it more and more we realized that the conditions for that heap buffer overflow in the ways that we found that we could possibly abuse it would actually need us to be able to write null bytes in locations where which are not at the end of that string which we could have possibly been able to do however we really needed to do it somewhere in the middle just to get it to to trigger writes just the right way so unfortunately this particular bug was not usable in this case so kind of wrapping up this stage of our research we found a few bugs that as I said weren't easily exploitable one of them actually didn't really apply at all but we thought it was really cool the tls one should they ever move to some sort of implementation with key exchange mechanisms then that that would immediately yield an attack we kind of rediscovered a nice technique or at least we thought it was quite nice we got debugging working and more importantly we learned a lot about two-year stack this would actually kind of be the most critical point of our journey with the first revision of the devices as it would actually help us a lot in the next stage and speaking of the next stage moving to Tom so a few months past we had no progress on the on the esp but still we were curious of course and one of us I forget who went to the action bought more of these lights different types and we got we got a bit startled because all of a sudden there was not an esp 8266 in there anymore but a new chip chinese manufacturer becken we didn't know anything about it a bk7231 and we thought oh my god has all of our research been in vain did they just swap out a new chip everything is different so we went in search for a datasheet of this new mystery chip we searched on mauser and digi key even chinese lcsc we could not find anyone supplying this chip and having a datasheet for it not on a western internet anyway by due to the rescue so by due a chinese search engine is used almost exclusively in china of course when we search there we we got a whole lot further some translations later we we got the datasheet for this for this chip inside of the datasheet is mentioned that there's an arm nine core inside of a specific type and that arm nine core that you can find on the western internet very easily from there you can get the reference manual and see all kinds of things about the debug peripherals it has what kind of memory mapping is inside and this gave us a whole lot of information on how to analyze this new device and what was even more interesting is what happened when you searched for this chip on the western internet not for a datasheet but just the chip name itself we came to this very interesting looking github repository do we now have an open source implement implementation from tuya the manufacturer of this device for the stk yeah it turned out we did they completely open sourced all of their stuff the stk example applications that we found out are being used by manufacturers of these lights almost exclusively it's all there of course some of the internals are in in binary blob libraries but because they're part of the stk you need to be able to link against them which means that they need to have symbols which means that now we can load the library into gidra and we have a complete list of function names and this kind of stuff structures so that you can imagine you this helps tremendously in reverse engineering so it did for us one thing that's interesting is that they named this new real-time operating system iot os and so we were curious to see if we would have to learn a different os in our future endeavors but luckily it turns out we do not it's just free rt os with some sauce of them of tuya on top of it so not only did we not lose progress we actually gained a lot the stack is still the same but now we have the source we have all the symbol names we have a lot nicer time debugging because this arm core chip supports a lot easier debugging than the expressive chip does it just has a jtech interface you can connect to and so now we we dove in again for this part i'll hand over to gellet again right so as tom mentioned the sdk and the blobs in it actually helped us quite a lot we thought hey we could get a really nice quick start on on analyzing this particular new revision by just well looking at the sdk itself so i started the reverse engineering sort of it is mostly symbolicated easy to go through the binary blobs that we found in the sdk and because we've already seen quite a lot of what tuya does we've been familiarized with the protocols at a pretty good idea of okay what are the usual suspect protocols that have some interface to the outside world that we can perhaps control so started looking through these and i stumbled upon this particular piece of code it's kind of condensed from the original of course just for for visuals but essentially what this is is a task definition for a free rt os task that the device runs when you set it in a particular configuration mode you do so by power cycling the device a specific number of times this sits at in what's called ap mode where the device essentially broadcasts an an access point and you connect to it with your with your mobile phone and you have tuya's app or any of their other branded apps on your phone which has a nice it tells you exactly what to do to get that device on boarded onto your home access point of your home network what this function does then is it actually listens on that ap network it listens for udp messages that the application sends and what these messages look like as an example shown on the right essentially it's pretty simple it's some simple format it's a type length value around a json blob completely unencrypted the app just sends that when it gets the parameters from you the user the first two parameters are the s id and the passphrase that's your home network configuration parameters that it will use to connect the last one is a token that it actually gets from the from tuya servers and it's essentially just used to get the device to initially authenticate with the server so looking on the left side how it's being parsed it's just using c json a small library for parsing json in c it's used quite quite heavily in embedded the embedded projects as we've seen so just use c json takes that json payload parses it and then it gets the data and then copies it into some structure so there's some global structure so this line access point network config and it copies the parameters in it we noticed one particular interesting copy over here it's highlighted then in red I hope you can see it for specifically the token field from the token on the right the ap configuration token the copy process is slightly different than the other two fields why not sure but what we saw is that the token length is first calculated as a c string so it calls a sterling on it gets the length of that and then uses mem copy to copy that much data that it just calculated with sterling into that field okay could be okay but there are no no checks on it but it depends on how big that field is and do keep in mind that the json messages are not allowed to be more than 256 bytes so it could still be alright however looking up this is actually the structure that it copies into that token field is only 64 bytes long we can go up to 256 bytes okay well what that really means is we can set a token field that is much much larger or at least just larger than 64 bytes and then we'll start overwriting fields in that global configuration structure that may actually yield something interesting and lo and behold there's something interesting almost way too convenient really there's this finish cb that's one of the fields in that structure it's a function pointer and it happens to be called immediately after our out of bounds right our mem copy so that's fantastic so all we have to do is just have a token that is 72 bytes or well seven longer than 72 bytes and it will start overwriting that callback function pointer so now we have control sorry now we have control over the program counter which essentially allows us to jump wherever we want in the firmware but all of this we've done so far on the on the sdk blobs we don't really know if the devices themselves are vulnerable we've tested them a little bit kind of black box by trying to exploit them but it's it's it's a little unclear so we decided the next step is to get firmware dumps the plan here was to dump the firmware analyze it reverse engineering either like we've done so far kind of compare and figure out okay does this actually exist in the same way additionally we also get to figure out which locations in the code are interesting however we really did not know much about this chip so as Tom mentioned you know documentation is scarce if nonexistent so how are we actually going to dump the firmware so turns out there is a serial protocol that this device implements in its bootloader that allows us to read flash read some of the device metadata as well and do keep in mind that flash is embedded on this device it's not actually external which is why this was a little tricky the only problem is we don't really know much about this serial protocol besides that well yeah it exists well turns out we knew a little bit more so Tuya had some developer documentation that actually explained for OEMs that would use their services how do you flash your firmware onto the device both using their own tools as well as using this very interesting binary called the bk7231 chip flashing tool so we started looking around for information about this based on this newfound knowledge and luckily we actually ended up finding an open source project from one of Bekin employees and Bekin is the company that makes these chips and it's this tool that actually implements this bootloader serial protocol however not very luckily the tool was quite unreliable for us we really could not get it to work to read flash at all for whatever reason it would just pick up or or something would go wrong and we weren't exactly sure what's wrong with it we tried to modify it but that's kind of didn't didn't work out all too well so we decided to use the information that we have from this tool and the fact that we have a copy of the bootloader in the SDK to both reverse engineer the the bootloader so we can actually see what that serial protocol does from the horse's mouth so to speak as well as use the library that we found the tool that we found as kind of a quick guide point because we can then just figure out okay what sort of artifacts do we really need to search for in the bootloader so we don't have to really go through the code in depth to figure out where we need to look for this part so we spent some time on it and after a while we've figured out how it works we decided to write our own tool it's called the bk7231 tools and essentially it allowed us to now dump the firmware but next step we just have a flash dump we actually need to analyze it before we can look at any code so luckily for us the the SDK is is open source and this this part of the the part of the linking of the blobs together after compilation is is available so we could just go through it what we learned is that there are two code partitions on on flash the first partition is just the bootloader itself the second stage bootloader after the bootrom and the second part is well what's interesting the user application or so they called it the user application is essentially what we're interested in there are other partitions as well and they're defined by this user application but of course in very you know embedded software fashion the code sections are encrypted and by encryption we really mean obfuscation because the incur the encryption key is just hardcoded in the SDK so we had to deal with that a little bit as well now of course we just implemented all of that in bk7231 tools so it just does the whole process now from dumping the the flash from the device with that serial protocol to decrypting the code blocks and actually unwrapping their custom sort of format that they use both for on-chip over the air updates it's called an rbl format so we did a little bit more reverse engineering around their their binary tools that they had in the in the SDK so now armed with all of this information it's now time to start making our bug a little bit more useful so let's do a quick recall this is actually what we had we had the configuration message coming in we had the token field and if it's longer than 72 bytes we would overwrite this function pointer so here's an idea we do have we don't actually have control at all on the stack at the time of invocation here however there are some registers that are that that point to data that we control namely the data that's parsing this json object so hey maybe we can write shell code and just jump to it on the stack you know this this usually works well turns out that was not quite the case this was quite surprising for us because the rmv9 is a very old old old chip and as far as we can tell it doesn't have any memory protection units or any sort of memory management units so there should be like almost all memory regions should be executable but for whatever reason this really did not work at all so even though we have control flow redirection well we didn't really have much yet but there are techniques to deal with that so we could do return oriented programming or call oriented programming or some version of them and basically reuse the code that is already in the in the firmware to to kind of do our bidding now we did actually end up figuring out something around that we thought that and from from previous runs with the esp version we knew that there is a way to overwrite the pre-shared key through a call to the api and then the device would pull that new key from the server and overwrite it in flash so we found that function and we thought okay this is a really nice function that we could jump into so this is a piece of code that's already on the device and all we have to do is just massage the parameters a little bit and if we just return to that function it will overwrite the pre-shared key for us and we'll end up with a win condition however it turns out that this was really not sufficient overwriting the psk worked we did actually get it to kind of downgrade into the previous protocol that it had that to your convert abused however the sdk is written such that it does not actually accept unencrypted traffic within the tls connection which the previous version did so we kind of had to reassess what can we do here what's what's our path thing to to to get this so we actually did manage to overwrite the psk the downgrade doesn't work code execution a little bit tricky still but we can maybe find a way to overwrite the security keys which turns out is exactly what we did so we thought okay they have some function that they use to write this pre-shared key parameter and persisted to flash perhaps we could just you know search for other functions that maybe use this function so we started on this little journey for what's called gadget hunting and a gadget really is just a piece of code that does something useful that we want to that we want to achieve and in this particular case we were looking for two gadgets we were looking for something that sets the security keys that we can just jump right into and let it do our bidding and perhaps one or more quote-unquote fix up gadgets and these just do simple tasks of moving registers about just to get things in the right order we use the tool called the wrapper to to analyze the firmware it's it's for for the second type of gadgets it's a tool commonly used in an exploitation also for traditional systems so as we moved about we actually ended up finding out one such nice target gadget so that function that overwrites all the keys we noticed that this wd gwbase if right was used to overwrite the psk and just by kind of cross referencing back what sort of other functions refer refer to that function we ended up finding this handy dandy function that does not seem to be called at all by any tasks but seems to exist for the purposes of writing these configuration parameters to the device in the factory through some serial protocol it's pretty straightforward all it does is it takes a jason payload over serial parses it and then just uses it to overwrite the the parameters in flash so this looked like a great and fantastic candidate for us to use and since we already had a jason blob that we actually sent to the to the to the task to actually exploit it essentially this was just a matter of swapping some registers around because we already had a nice pre-parsed jason object and in order to do this swapping around we have the fixed up gadgets also trampoline gadgets on the side as you can see this one it simply sets the first register r0 to the value of the register r7 i think in this particular case it was the jason object indeed and then it pulls r3 on the third line from some other data section that we actually had some control over so in this way we could do some jump that does some register swap and then from the register swap we can go to a secondary location which essentially should be our target gadget and kind of putting everything together over here we had the setup where we had the vulnerable function call the fixed up gadget does some register swaps and then we end up in our lovely function that did all the work for us now that's not quite over yet so we're just moving to tom here to explain what we did after that so now we we have an exploit we can can set the keys but it's not not usable for people aside from the two of us yet right so we built a small tool called to your cloud cutter it contains all of all of this exploit tool chain steps plus some additional things so you can use it to override all of the keys pska oski local key sec key by doing that it it this allows the device from connecting to two yeah so it's cut off from the cloud it allows you to connect locally with this local key and so you can use it in complete isolation on your own network and then also you can use to your cloud cutter to write your own firmware if you like if you're interested in it check it out on github there's a there's a link in the slides also but i think now we should use the last final minutes that we have for actually trying to show you i'm going to put this light bulb from action into ap mode by flicking the switch six times gellat is going to connect to it via his laptop and then he's going to run the first step of the the exploit tool chain so it's blinking slowly now which means it's in ap mode all right now we have the exploit all right so the exploit has run i don't i don't know if you can see it it's all the way at the bottom of the of the beamer here we put it in ap mode once again this time to configure it to join a different access point that's gellat has on his on his mobile phone his hotspot and then from there we can connect to it using the local key to make it do something and hopefully we can show you that it will do something of course these kinds of demos are super super dangerous to do on a camp like this so this is all connecting over wi-fi to each other on a stage with i don't know 50 people here and hundreds around so we've got configuration messages now from the device we've they we know the exploit worked because we can actually see them they're plain text so we're doing the manual correctly and now the device should be on our access point so let's scan for it we just need to figure out if it was onboarded correctly hopefully it is and oh i'm on the incorrect network tends to happen on live demos so right now the bulb should be connected to gellat's mobile phone it's running a hotspot he's connecting his laptop to the same hotspot and then the laptop can send commands directly to the live bulb if things work out we'll see yeah yeah there we go found the device just need to get its IP address we have a little script that would then use the local key that we've set on the device to actually make it do something a little bit more interesting such as this so we'll leave this running in the in the background there we go right now back to tom all right so in the in closing we found a really cool bug that seems to be present in all devices containing this new chip which we think is any device made by tuya millions of them since around 2020 we did a vulnerability disclosure to tuya they were really cool about it really nice people responded super quickly and they gave us a bug bounty for it we donated it to charity to a foundation that teaches kids how to hack which we thought was was really cool and for us this this was a first experience or for me it was the first experience of doing a vulnerability disclosure hella did it before so that was really nice and one takeaway for us as well was embedded security is catching up this kind of stuff we had with not being able to just send shellcode to the device and jump into it because of non-executable memory it shows that steps are being taken however it's still far behind personal computing so this makes it a really interesting target for us and so our message is that it's still juicy to look into these embedded devices because many of the tricks that have not worked in personal computing for quite a while now they still work here all right and with that we will leave you we want to thank a couple people use Blasty, Jilles and V-Trust for helping us along the way if you would like to get in touch with us our stuff is up there and thanks a lot for listening thank you so much that was amazing I'm not really a tech person and I understood so much of it we have two vacancies open at my school for computer science teachers so if you're interested um now if there are any questions to them there are mics in the middle please use them to ask a question if you have one no questions well I think if you come up with a question they're still approachable after the talk or somewhere around camp and thank you so much another big applause please


We're going to look at how do you generate min-max values for a facility for a data set. To generate min-max values you go to data administration.  You need to select a data set. You need to select a region or a district and we're choosing district 6, facility 418. So all the data elements that relate to the anti-natal care data set will have min-max values generated and we click generate and it tells us the min-max generation is done. So let's go and have a look. So we go to data entry and we remember that it's region A, it's district 6, it's facility 418. We select A and C and then let's select a time period, August this year and here we see all the values. Now to see what's going on we double click on a value and that will show us the min and the max ranges that have been automatically set for this facility for this value. And we can have a look and think do we like these ranges? Do they make sense? Are they too wide? Are they too narrow? And if we look at the historical data, the minimum has been set at 5 and the maximum is at 25. I think that that is a good range. It will stop any values below 5 or over 25 because those don't fit the pattern. Let's look at another value to see if we can find something that will perhaps give us a bit more of a range. Let's have a look. A and C, HIV test negative. Let's look again and here we can see the ranges have been set but they are very wide because the ranges are automatically set to take in the least and the most. But if we look at this very clearly, we can see that this up here, any value above 20 really seems to be out of the range. So I'm going to change the maximum value. I'm going to change it to 20. Now the minimum value has been set at 0 to accommodate the months that are missing. But if we have a look here, I think we could make the minimum 5. It's change it and it's save it. And so now we have a range that will trap anything below 5 and over 20. And if we have a look at this, this looks not too bad, but maybe 20 is a little bit small for this one. Let me make it 22 because minimized ranges are not punishment. They are there to aid good quality data entry and that will trap the bulk of the data that's coming in. The minimum, I think we can leave it as it is as 5. So that is how you set the min max ranges for a facility for the data elements. Now this only applies to this facility for these data elements. It doesn't apply to any other facility. But let's go and have a look at this value for August 2019, which is so high. So let's open it and we go back one year and we go to August 2019. And here we can see that it's now been color coded because it's high and there's no previous data. So if you had previous data and that previous data was within the range and the explanation for why there were new cases or why it exceeded the range, we could put a comment here about up after stock out of test kits. So now we've explained why this value is above the range. And we put a star comment in there and we save the comment. So if we run something to have a look at why this value is out of range, we have a comment to explain to us if because I did a catch up of the stock outs.


The reason why everyone believes the narcissist People tend to believe the narcissist They tend to accept that what they're saying is true And often without any proof They're convinced by the narcissist Because of the narcissist's ability to persuade people that they are the victim The narcissist presents themselves in a favorable light By playing the damsel in distress By being this person who is in danger or trouble This person who is in desperate need of help They create a sense of urgency So that people act on their impulses So that people act without thinking This is how the narcissist gets other people to engage with them This is how they get other people on their side They build fake relationships with people based on trust Emotional affinity and sympathy They act like they are in a hopeless situation That is impossible for them to deal with While having a great need or desire for something Which makes people see them as less of a threat As less likely to cause damage or danger So it makes them more believable They're very good at presenting themselves as someone who is not able or likely to cause harm Which is how so many of us ended up with narcissists Because we didn't see them as a threat We didn't realise that we were in danger They act like they are helpless They act like they are unable to defend themselves or to act without help They act like they lack in protection and support Which makes people agree with them and support their opinions and actions It makes people want to step in and help If someone is receiving unkind or unfair treatment Most people will want to provide them with assistance and support Most people will want to defend and protect them from harm or danger And that is why narcissists always play the victim Because it's effective And they're very good at managing people's perceptions They know how to cautiously reshape the perceptions of their targets to fulfil their desired motive They know how to convey and deny selected information and indicators To influence people's emotions, motives and objective reasoning They act polite, friendly and likable To allay suspicion and hostility They charm people They act like they're concerned with and seeking to promote human welfare Like they're unselfish, compassionate and generous A social reform philanthropist Someone who is trying to organise the interest of a group for a social change Which creates pseudo empathy This understanding of the thoughts, feelings and emotional state of other people But without identification, care or urge to improve their condition They manipulate other people's emotional condition for their own benefit from charming them Which has the effect of allaying suspicion and hostility It prevents people from questioning their motives Because when they act pleasant and agreeable It causes people to overlook things So they will be more likely to side with the narcissist The narcissist is controlling other people's perceptions of them So that when they attack you it looks like an act of defence Which is their intended result And even before they are fully informed to other people about you They're touching on matters for discussion and consideration They're focusing on things that are of little importance Because they're just trying to provoke a situation They're trying to cause trouble They love to create meaningless drama for other people And that is why a lot of the things they do seem so over the top Because it's intended to get a reaction They will take things that they don't like about you And then they will reinvent it to put doubt in other people's minds To create uncertainty in other people about you But they do it secretly and dishonestly In order to achieve an advantage They're too faced They're double dealing They're backstabbing They're hypocritical They say they do or believe something But their behaviour or words Show that they do not do it or do not believe it They're deceitful and insincere They will say different things to different people So that it puts doubt and uncertainty in other people's minds about you But they're doing this without your awareness So that when people come around you They're examining and inspecting you closely and thoroughly When the person who they should be inspecting Is the person who is giving this information about you to them But that's why they have to engage with these people first So that they can start creating doubt It's divide and conquer They maintain control over their opponents By encouraging a difference of opinion To prevent them from uniting in opposition And many people fall for it Because they don't objectively analyse and evaluate the issue In order to form their judgement So they end up being played like a puppet They end up being skillfully manipulated by the narcissist In order to suit their own needs and benefits Which makes the narcissist feel powerful It makes them feel like a conniving all-knowing mastermind Because they're getting people to do what they want them to do So they will be successful in getting people to not listen to you or believe you And it will be a very difficult struggle for you It will be a tremendous task Because behind the scenes they're saying all of these things about you But when they're in front of you They're calm and un-worried They don't have an issue with you But without your knowledge they are turning people against you And people start to perceive you in a bad light So when you go to those people And try to give them your side of the story They don't want to believe you Because the narcissist has already placed doubt in them about you They're prepared for any contingency from you They're vigilant and alert They're wary and watchful They're cautious and careful They're on duty to protect and defend the narcissist from you They're examining and inspecting everything you say and do Because they lack critical thinking skills They have poor judgment Which is how they were so easily tricked and deceived by the narcissist's tactic So they're not going to believe you And it's a waste of time to try to convince them Because by that point They're a lost cause They're not going to be able to hear it But you can prove yourself by showing your personal qualities and moral principles That's the only way that you're going to achieve a result Because it doesn't look good when you go out there And try to defend yourself against what the narcissist is saying about you It just makes you look worse After they've already got there first And made you look bad to other people If you go out of your way and try to prove yourself It's going to make you look even more questionable Even though you may not have done anything wrong It will make you look worse Let your actions show who you are Let your performance and achievements disprove everything they're saying about you Because that's what will defend you from attack, invasion and loss Thank you for watching I hope this video wears out with you Please like, comment, share and subscribe If you would like to donate My PayPal link is in the video description Coaching Inquiries You can email me at coaching.naqsurviv.uk Thank you for watching And I'll talk to you soon


This study examined the potential benefits of using cloud-based, computing in the research activities of engineering students at high schools. It analyzed existing scientific sources and practical work of universities on the topic, as well as the relevance of organizing educational research activities with cloud-oriented means of ICT. Additionally, it developed a prototype system for the implementation of cloud-oriented means of ICT, in the research activities of students of engineering specialties of high school while learning higher mathematics. Finally, the system was tested and its effectiveness evaluated. This article was authored by O. M. Potipova.


Hey, Psych2Goers! Do you have suspicions that you are suffering from PTSD, but are not exactly sure? Maybe you're unsure if what you went through qualifies as traumatic, or perhaps you have doubts as to whether you have PTSD because you're still able to go through your day and fulfill tasks and responsibilities. Perhaps you've seen cases of PTSD in others and have thought that what you go through is not as severe in validating your own feelings. So what is PTSD? PTSD, or post-traumatic stress disorder, is a psychological condition that can occur as a response to a traumatic incident. This includes threats of death or harm, such as war, sexual assault, violence, motor accidents, natural disasters, or medical emergencies. PTSD can be experienced in different forms and to various degrees. Remember that feelings about your trauma are always valid. With that said, here are five signs of high-functioning PTSD. Number one, extreme emotional reactions. Trauma can lead to what is called hypervigilance. Do you often feel anxious, stressed out, and on edge? You might feel as though you're constantly on high alert as a result of trauma that you've experienced. Do you find that you get startled rather easily? And on top of that is your reaction to being startled unusually intense, even violent at times. Perhaps you feel particularly irritable and are prone to outbursts of anger from the strain of constantly feeling tense and on edge. It's one thing to be cautious, but have you been overly conscious of your surroundings and on the lookout for potential threats? To the point that everyday life becomes a struggle, trauma can cause these feelings, habits, and reactions as your fight or flight response intensifies. Number two, negative changes in thoughts and mood. Have you noticed certain negative changes in your thoughts and mood? This can occur in different forms. You may be struggling with reoccurring feelings of fear, horror, anger, or hopelessness. You might experience emotions similar to depression, such as losing interest in activities you once enjoyed, or feeling unable to experience joy and other positive feelings. You might have also developed negative thoughts about other people, the world, or yourself. Perhaps you've been feeling guilt and shame. Even though the traumatic incident is not your fault, you may have convinced yourself that it is. Number three, avoidance. Trauma may leave you feeling vulnerable, on the edge, and unsafe, understandably so, which may then lead you to avoid and withdraw from certain things in order to feel safe or protect yourself. You might find yourself avoiding people, places, conversations, or situations that remind you of the traumatic event. Perhaps you've been going out of your way to take different routes or cancel plans with friends, even though you may have some desire to have a good time and see people. You may back out of situations or get away from certain people to avoid any reminders of your trauma, or perhaps because you're feeling too overwhelmed to socialize. Additionally, you may find yourself avoiding some of your own thoughts. All in all, the constant avoidance can be exhausting and take a toll on your mental health. Number four, physical problems. You may also experience physical manifestations of your struggle with trauma, such as insomnia. Have you been having trouble sleeping?  You may also experience certain physical sensations when you're reminded of the incident, such as increased heart rate, sweating, breathing difficulties, or feeling faint, often tied to anxiety. These are signs that you may be suffering from PTSD. And number five, reliving the trauma. You may have also been reliving the traumatic incident. Have you been having recurrent memories of the event? These may occur in spite of you trying not to think about it. As previously mentioned, you might also have nightmares in which you relive the event or dream about circumstances related to it. Nightmares are also different from flashbacks, in which you might relive the incident as if it were really happening again. These are signs you might be suffering from PTSD. PTSD symptoms can vary from case to case in terms of severity and types of experiences. Or a proper diagnosis, please do not hesitate to reach out to a qualified mental health professional. Living with trauma can be a daily struggle. Therapy and treatment from a qualified professional can help. There is no guarantee that PTSD symptoms will go away on their own or just lessen with time. But there are resources that can help people regain a good quality of life.


So I just got out of therapy. I usually have therapy on Thursdays, but today is Saturday because she had to reschedule but I'm gonna start doing this. This gonna this gonna be a thing Therapy Thursdays. Okay, cuz I actually want to start encouraging Everyone to go to therapy like whether you feel you have trauma to heal from or not Go to therapy. Okay. In fact, that's one of the requirements on my list for when I'm ready to Be in another relationship You have to be in therapy willing to go therapy or about to start therapy like It's a must. It's so helpful but not only that it helps you to really Start the journey of intentional healing and Healing your inner child, which we all need to do no matter No matter how old you are Or how put together you think you are it is very important. Anyways This is gonna be the first video for that It's awesome is my therapy sessions are always so interesting because I don't necessarily go in Knowing exactly what I want to talk about Yes throughout the week things happen, and I'd be like, I can't wait to therapy But when I actually go in I'm never really like, okay, I'm gonna speak about this this and this But today besides some other things that came up One of the things I was telling my therapist is because last week we spoke about How a very good friend of mine's where we connected with after leaving my last relationship I had a very Vulnerable conversation with him about you know how he showed up for me as a friend and How I feel like he doesn't reciprocate my energy in terms of friendship So his response was pretty much like yeah, I know I could do better whatever but I made it very clear to him that like I Know you have a lot going on and if you're not in this space or have the mental capacity to be The type of friend I need or the type of friend I know you can be and used to be to me Just let me know so that I can make a mental note of that and not expect anything or not hold anything against you or at least Set some healthy boundaries for myself, but he was like no that's not it You know I could do better. I'll do better. So anyways The day is following that conversation was well, but this week my boy went MIA again and I don't know if you watch it's my videos, but if you do, you know, I'm talking about you and that's okay I was just telling her that like I Don't understand why it bothers me so much Like why specifically with him that I feel like when he goes and my am a scholar texts him first or why even though he's not reciprocating my energy that Even though it annoys me or upsets me to a degree I Allow it and when I say I allow it I allow it because if he was to text me today or tomorrow I'm gonna respond and we'll talk like if it's nothing and even if I bring it to his attention that like yo, you never responded to my message or Even checked up on me after you knew I was sick Like I'm gonna allow it So she was asking me So she asked me a very important question and this is when it all made sense This is why therapy is so important and I'm sharing something very surface with y'all But we be it'd be some deep shit going on in therapy, but this is very surface But it's just a simple example of how Therapy helps you answer your own questions. She asked me What are you attached to when it comes to him? And I was like, that's a good question. So I said maybe it's how it's because of how we Spent time together the last time I was You know in his presence like he took me out. He opened doors for me He paid for everything like I felt really comfortable. She was like so the time you spent with him How did that make you feel and the first thing I said was I felt safe And I'd stop myself in my tracks like I was like, wow, I felt safe for someone Else that might not be a big deal, but like for my specific situation I spent so much time not feeling safe in a relationship That the fact that he made me feel safe It's huge for me like I'm attached to that feeling not necessarily him but I'm attached to that feeling of feeling safe and She was like You felt safe you felt love you felt taking care of these are all things that you had stopped feeling in your previous Relationship so he was the first person to bring that feeling back I That is what you're attached to you're afraid that if you were to set some serious boundaries with this person You will no longer have that feeling and you have to remind yourself that you are safe and remember to seek that feeling from within you know and she's so right like it was just Everything was just spot on okay, like it made so much sense afterwards and Because every night like I was just praying for clarity. I'm like somebody please explain to me why I Have such an attachment to this person Like why is it I allow this type of behavior Like the lack of communication just going MIA not responding to messages Not being thoughtful like Bruh the last thing I told you is that I don't feel good so You're not concerned About if I feel better or not like so it's just like Because I know she was like, what do you want? I was like the thing is I know what I want I have a list I wrote a list of everything I want in my in for the next time I decided to Be in a partnership with somebody being a relationship with somebody and the thing about it like with him right now It's strictly friendship like it's not even Anything else so it's not like I'm looking for a relationship with him Right now I'm not but if you can't even be a good friend Then why do I expect you to be a good anything else like I'm not even trying to sound mean because the fact about this situation is that I I will always have a level of love for this man That I can't really explain just because of our history But I also have to have a level of respect for myself And not compromise what I know I deserve and my values and my wants and needs for him so Anyways, I Don't want these videos to be long. I just wanted to share with y'all what my therapy session was about today Not about because that was like the last Maybe discussed the last 15 or 20 minutes in my session but I wanted to share that because it was just so insightful and I have so much more clarity now and Although this doesn't change the way I feel at least now I am aware of what is causing the feeling so that When I have those moments of feeling like oh, I wonder if he's gonna call me. I wonder if he's gonna text me I wonder if he's thinking of me. Yeah, I can just remind myself like you're safe. It's okay You deserve better. You deserve the best friends.  Anyways Here's to the first Therapy Thursday and if you are not in therapy or have Never gone to therapy. I highly suggest you look into it because it's top tier Anyways to all of my melanated women protect your room by any means necessary and to everyone watching Protect your peace by any means necessary I wish you all love light and prosperity and you will see me in my next video Peace


Hi, this is your host Aplin Bhartiya and welcome to a brand new series, TFI are pioneers, where we showcase some of the moves disruptive and innovative startups in the space. And today we have with us, Yoad Fekete, co-founder and CEO of Mirror Security. Yoad, it's great to have you on the show. Great to be here. Excellent. And since we are kind of debuting you with this series, so talk a bit about the company, what problem that you saw in the space because security seems to be a solved problem. It's also a very crowded space. So what gaps you saw in the space which led to the creation of Mirror Security? First of all, thank you for having me. So a bit about why we started Mirror. So my background is technical, I've been DevOps engineer for the most of my career in my last role before starting Mirror. I led a group of DevOps engineers at Microsoft in the cloud application security team. And Microsoft was one of the companies that has been attacked by the SolarWinds attack. And my team was part of the incident response team. And so after the attack, we were looking for something that, you know, a solution that can kind of detect those kind of attacks next time. And we couldn't find anything, at least not anything that it's kind of easy to integrate and can help with both open source and your own software development lifecycle. That's where we decided to kind of start the company. I want to talk quickly about the evolution of security that you have seen over years, all the way from traditional IT to full cloud-centric, cloud-native. And this week, you know, AWS Reinvent is going on and I'm pretty sure they'll run a discussion on security. So let's talk about how you have seen security change over years. Yeah, good question. So, you know, at first days, when I started as a system administrator, right?  And now over there, we were very focused on the infrastructure, on the perimeter, firewalls, you know, those kinds of things. And things have changed, right? The perimeter today, it's not that today you can kind of go to a web server slash admin and then put like the default credentials and you're in. It's not the case anymore. Today, the perimeter is very strong. You have zero trust. Everything evolved from on-premise that we as system administrator, we had to secure and today you get, you know, the AWS Azure, GCP kind of security baseline, which is amazing. So now it's shifted from the infrastructure level to the kind of configuration and application level. And I think that's the big evolvement because we kind of close the gates, close with closed the perimeter. And now we kind of shifted to application where developers can kind of bring anything they want into the organization. So you close your gates, right? But you still allow your residents to bring anybody they want in. So how do you tackle that? So that's how I see the shift in seeing the security from kind of the old days to now. And what are some of the security threats that you are seeing, which either you look at them are new or you see are becoming more sophisticated? If in the old days, people were very focused on, you know, kind of open ports or, you know, trying to map open servers and accessing those, it's not the case anymore. And even SQL injections were not kind of where we've been 10 years ago. It's much, much harder to access through those means. So, and since open source grew up so much like in usage, you see attackers trying to kind of attack the weak link in a change, right? So if I'll take an open source, like very used open source, but it's not as strong as in security as an enterprise company. And I attack that one by doing that, I'm able to get to a lot of other companies. So that's a big incentive. So we're seeing that a lot. And it can be by taking an open source by a phishing attack or by just, you know, trying to enumerate password if the person doesn't have a multi-factor enabled, all kind of ways. But the incentive is to get to an organization or an open source project with weak security and get to as many companies as possible. One more thing that I want to talk about, and this could be a sensitive topic, you're based in Israel, Tel Aviv, Middle East, Europe, big war is going on there. There was a point where we're also worried about the cyber security, cyber attacks will happen. What are you seeing from the perspective of cyber attacks because of these two big wars going on there? So this is very close to my heart. So we've seen increase in cyber attacks and today I'm on reserve duty these days. And my role is to enable security on some of the defense forces, you know, let's say products or stuff like that. Probably I can, this is the only thing I can say. We've seen attempts, but I can tell you that, I don't know if it's because of kind of Israel is known as a cyber nation or because it's just important as we see it as a very important capability to defend our perimeter and applications. So we do see a lot of attempts, but they are being stopped at the gate. And the other thing is that in terms of the resiliency of those companies, not specifically cyber, the whole economy. So I think at the first two weeks of the war, it was very hard to kind of work because this is a very small country. So everybody knows somebody that's been affected directly and in our company, we have somebody that survived the terrible Nova incident our head of DevOps and one of our other employees had a partner killed in the same kind of event. So we've been affected directly and those people, a lot of people know other people, but you know, we're almost 52 days after, I think. And it's amazing to see how people are recorded as citizens, not even in the army to kind of revive the economy because it's important for the resiliency of the nations, of our customers, of our products, of the cyber community and other products. You also mentioned open source. Talk about the importance of open source for mirror security. Not even for mirror security. You know, basically all companies, including us, we use like 80% of our code basis open source, right? And it makes sense because if I'm a developer and I need to write software that does one plus one, there's something out there that does that for me. So why waste the time? And this is to thank the open source maintainers out there, hopefully listening because that's a huge gratitude that we need to give them. And because it's 80% of the code base, that's why the risk factor is so big. So for mirror, we understood that we need to verify those open source for not only vulnerabilities but software integrity. How do we know that nobody injected or tempered with their process, with their CICD process? You know, enterprises protect their pipelines and their organizations with a lot of means and they put a lot of money. But how would you know that your open source uses the same means that or stands in the same security practices that you've kind of set as a policy for yourself and you know, kind of a spoiler alert, they don't and they shouldn't. As a consumer, we need to say thank you and we need to find a way to verify that integrity on our own and that's what we're doing here. Now let's talk about mirror securities rule in helping organizations with improving their security posture. Talk about what kind of offerings you folks have for them. So basically we do two things. So one is that we protect our organization from supply chain attacks originating from their open source and supply chain attacks that might happen in their own organization like happened with. SolarWinds or 3.6 and for open source it's what we've seen with PyTorch or UA Parser or CoIGS, those kind of attacks are not vulnerability. That's the main thing and we've built a unique binary to source technology that can actually verify the integrity of software without even need to be integrated with it. So that's what I was talking about. As a consumer, you need to verify that. That's our main uniqueness. Other than that, of course, we also detect vulnerabilities and we help prioritize those vulnerabilities by using reachability that means that basically we check if your code actually uses the vulnerable function because if it doesn't and I go back to my calculator example before, if you're using it to do one plus one and the vulnerable function is in the multiply function you don't need to fix that. And organizations today has a huge alert fatigue coming from traditional scanners. And that's something that has to be kind of fixed today to give better context about what you have in your organization, what needs to be fixed and give as much as concise information that you can give to the developers so they can remediate those vulnerabilities and attacks quickly. When we talk about security tools or their technologies are there, but I think equally important part is cultural aspect, right practices in place. So first of all, talk about the importance of cultural changes that you feel from the perspective of major security and how satisfied you are with the kind of culture because it's a big, you cannot paint every company the same as in a brush because different companies they have different kind of cultural but how happy or satisfied you are or you feel, no, we still need a lot of cultural changes within organizations. So yeah, let's start from the end. Unfortunately, and I've seen that in every organization I work for, okay. As an engineer myself, which is very security oriented when I need to run fast, when my boss expects me to ship software, I couldn't care less about security and he can care less because we're engineers by heart. So that's why you need processes in place. The security organization needs to define what they expect. So if they expect that no attacks, no temporary attacks should happen, no high or critical vulnerabilities should be deployed or they should be treated with an SLA of N days and no new dependency with critical vulnerabilities should enter the code base. You should be able to define it as policy and not like a document, right? Because nobody reads that. It's need to be set in a policy. It needs to be strictly integrated to the development ecosystem in an easy concise way and then it should enforce that and it should be an involvement because as a security practitioner, you care about security and you want to verify that application are being deployed safely and swiftly. As an engineer, you need to be aware of that but it's not something that I think that engineers care about on a daily basis, right? That's what I've been seeing in my career at least. These days we also talk about, a lot of students we are talking about culture, cultural changes that are happening. We started talking about platform meaning, of course, DevSecOps, it has been around for a while but we have also been talking about things like infrastructure is good, security is good, security, governance. So talk about it, what kind of paradigm shift you are either seeing and you want to break free from the old practices to get some of the benefits of things like, infrastructure is good, security is good or platform engineering. Let's shift away from security for a second as a DevOps engineer, infrastructure is code, is like it's gold. I think that should be no other way to create infrastructure. As far as security is code, it's important but it's not something that I expect developers to do still and in that case, if you have a good platform that allows you to set policies and integrate easily into your existing development systems, I mean, that's good. I mean, you can define it as code but you don't really need to define it as code because again, even if you have security champions within the teams, they should be the communication channel with the security team but they still need to be focused on business, right? As much as possible. So whether if security is called, helps with that, that's great but I still think that there are other ways to integrate and enforce and build security easily with just using a good platform and user interface. One more thing that I will talk about is and this is one of the hottest topic these days is Genitive AI. Talk about the impact of Genitive AI on security and security for Genitive AI. Okay, so let's start from I think the first one. We develop, even before Gen AI started, we develop our own proprietary model for detecting code tampering attacks and I see today how Genitive AI could have helped with that and we do use a lot of it in our product. It gives you context. It allows you to do feedback loops with incidents that you get in. It allows you to get insights to your users on the platforms but you need to be very aware of what you're using. I mean, don't use Genitive AI for everything because it's not a deterministic thing, right? You need to verify what should be used with Genitive AI and what should be used with proprietary models and if at all. That's one thing but it's made a huge impact and I think that companies that won't leverage that will stay behind every security company. I don't think there's a security company that didn't or won't kind of incorporate LLMs into their products and security wise in the models themselves we're using a lot of the dependencies. So let's talk about the PyTorch incident that we've seen that happened that a code and being injected to the Nike build and it's kind of we're using dependencies in other platforms which are not necessarily the traditional development system we're using because it can be used let's say in Jupyter Notebook for example. Those are other things that we need to be integrated in. We can check them probably in the same way because those are dependencies and it contains code, a lot of it is Python, that's great. We need to make sure that we're integrated in those integration points to make sure that the AI models we use which are basically packages are being verified as well. And I'm putting DLP, right? I'm not talking about chat GPT DLP and how to make sure we're not putting sensitive data in which is important but that's another kind of privacy or data privacy aspect which is totally important as well. Earlier you were also talking about known and unknown risks. Can you elaborate a bit on that? Yeah, so I think that most of the security professionals I'm speaking with today, especially the executives among them, they are very aware of the known risks, right? Because we have a vulnerability, it's documented in the National Vulnerability Database, somebody found that, you can go ahead, you can go there and see if it has a fix, if it's exploitable, but then there's the unknown risks. So let's take the jump cloud incident for a minute. It's a 600 people company, not a huge company, many customers, great product by the way, we're using it as well.  He would say, I have security products, I have security scanning or either he will kick my face because that's a very weird story to just tell you that somebody from North Korea is going to attack you, but it happened, right? Why?  That's one thing I can leverage you to access many other companies, which is an amazing incentive. And the second thing is that security, the executive and professionals are still not aware enough of unknown risks. So if you don't have a vulnerability, it doesn't mean that the open source you're using or the software you're using or your own CICD platform hasn't been breached. And no AST scanner will tell you that today.  So if I could resonate one message from our conversation here today is to tell people treat both risks in the same importance. Now I will talk about the company and your own role in this ecosystem. There are a lot of security is a very crowded space. There are a lot of players who have been around, you can call them traditional security vendors. And then there are folks who are born in this post-cloud native era. Talk a bit about how you, I mean it's easy to say how you differentiate but I really want to see what place you see in this ecosystem where we look at those incumbents, traditional security players and also the modern security players. So we see a lot of evolvement these days with security companies that they understand the incumbents. They're doing a great job but I think it's kind of what happened with SNEAK and when they came around then they brought their innovation when check marks has been around and veracode has been around and white source, et cetera. But they said, okay, we have kind of a new economy that we see that we should be integrated as shift left as possible. And that kind of changed the whole application security world 10 years ago, even probably less, but something like that. And now we see other kind of evolvements because we're cloud native and application are being deployed every day, right? It's not every couple of weeks, not every month. And so application security testing is part of what should be part of like the process we do every day. So the new companies we see around are trying to help with the amount of friction and the amount of alert fatigue that we're seeing from existing even newer products. But, and those products kind of left at that state where that throw a lot of noise at you and the newer companies are trying to compensate for that and tell you, okay, let us help you. Let us upgrade your vulnerabilities. Let's see it in context because you mentioned cloud native, right? So we can now, when it's not on-prem, we can see what you're using in your code. Maybe connect that all the way to your AWS cloud or Azure or GCP cloud. And then we can correlate it back, right? Because if you have vulnerability, which is only exploitable if your server is open on port AD80 and it's not, why fix it? And that's an immediate and important impact on the business. And I think that's a lot of the companies you see today that trying to put context on top of issues that you get from existing product today. Can you talk a bit about the plans that you have for the company you folks just came out of stealth? Just, I don't want to talk about the next five year plan, but some immediate plans that you're looking at expanding the company or growing the company. First of all, we're looking to expand, of course, more in US and Europe, that's one thing that's go-to-market-wise, so we're doing a lot of work there. But I think the second thing is that now that we're working with our customers, I'm happy to hear that most of them have the same requirements. So what we're doing is we're kind of treating our customers as partners. And they see us in the same way and not as a vendor-customer relationship. So we work together to understand what is their currently DevSecOps plans or guidelines, work with them, improve that, learn what they do, what they need, what their customers expect them to do, and then build our roadmap according to that. So that's what we do today and that's what we're planning to kind of keep doing while we evolve and add more customers to the platform. It's getting harder, right? Because as you have more customer, you have more demands and it's harder to keep track. But that's kind of our motto that we kind of set in stone that we wanna keep as a culture for the company. Yoad, thank you so much for taking time out today. Talk about the company, congratulations. And since you folks just came out of South, I look forward to talk more to you folks because security is an important topic here at TFR as well. So I am looking forward to our next discussion but I really appreciate your time today, thank you. Thank you so much, I appreciate your time.