How is it possible for someone to "Protect against Future Unknown Attacks" In section 4.4 (page 6) of Camellia: A 128-Bit Block Cipher Suitable for Multiple Platforms - Design and Analysis, it says


  $FL$ and $FL^{−1}$ functions are inserted between every 6 rounds
  of a Feistel network to provide non-regularity across rounds. One of
  the goals for such a design is to thwart future unknown attacks.


How we can thwart against attack which we dont know, or which is yet to be discovered or established?
How we can thwart against attack which we dont know, or which is yet to be discovered or established?


I'll just answer in the generic sense: by adding complexity. The complexity / irregular structure of the function(s) may not be directly needed for the (incomplete) security proof of the overall cipher but it may still need to be overcome by attacks on it.

For instance, a function could be used to hide a regular algorithmic structure, so that the cipher cannot easily be written down as a set of mathematical equations. New advances may make it easier to solve the equations for a (partially) unknown key. So those kind of attacks may be avoided by adding complexity.

Of course, with the attacks being unknown, it's impossible to be sure such attacks would be thwarted. So it's a goal which is only reached if one or more attacks are nulled or at least made computationally hard.